<?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>Posture</title><guid isPermaLink="false">life/desk-2005-10-27-20-00</guid><link>http://www.burtonini.com/blog/life/desk-2005-10-27-20-00</link><description>Recently I've started to suffer from using a laptop as my primary work machine, namely stiff neck, sore back, etc. ...</description><content:encoded><![CDATA[    <p>
      Recently I've started to suffer from using a laptop as my primary work
      machine, namely stiff neck, sore back, etc.  So I went shopping and
      purchased a PS/2 to USB cable, and an <a
      href="http://www.griffintechnology.com/products/icurve/">iCurve</a>.  I
      did toy with other laptop stands but they were either expensive, or
      incredibly ugly (think huge sheets of grey steel).  The iCurve on the
      other hand is invisible...
    </p>

    <img src="http://www.burtonini.com/photos/Misc/desk.jpg" width="632"
      height="512" alt="My Desk"/>
    
    <p>
      Here my unsed desktop's mouse and keyboard are plugged into the USB
      dongle, which through the magic of the kernel 2.6 input layer Just Works
      without any action at all.
    </p>
    <p>
      When I want to use the desktop -- a monthly event generally -- I can just
      whip the USB adaptor from the laptop and plug it into the desktop.  Then I
      can watch Windows XP fail miserably to handle hardware changing between
      reboots.  It appears that although Windows managed to handle the keyboard
      moving from PS/2 to USB, it refused to acknowledge that the mouse wasn't
      plugged into the PS/2 port still..  I had to figure out the keyboard
      navigation for the login screen and then remove/insert the mouse again.
      Not a great pain, but I bet that will catch out some normal users.
    </p>
    <p>
      Anyway, the iCurve totally rocks and is a great example of design via
      simplicity: it's just a curved piece of plastic but the laptop sits firmly
      on it.  I recommend it to everyone who uses a laptop all day.
    </p>

]]></content:encoded><category domain="http://www.burtonini.com">/life</category><dc:date>2005-10-27T19:00:00Z</dc:date></item><item><title>CD Scrobbler 1.0</title><guid isPermaLink="false">computers/cdscrobbler-2005-10-24-10-55</guid><link>http://www.burtonini.com/blog/computers/cdscrobbler-2005-10-24-10-55</link><description>I finally got around to cleaning up my Audioscrobbler upload script, so I am announcing CD Scrobbler 1.0 (a bold ...</description><content:encoded><![CDATA[    <p>
      I finally got around to cleaning up my Audioscrobbler upload script, so I
      am announcing CD Scrobbler 1.0 (a bold version I admit).  A tarball is <a
        href="http://www.burtonini.com/computing/cdscrobbler-1.0.tar.gz">here</a>,
      you'll need a recent Python (I know it works with 2.4, 2.3 should) and
      the MusicBrainz module.
    </p>
    <p>
      <small>NP: <cite>Hold Your Colour</cite>, Pendulum</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-10-24T09:55:00Z</dc:date></item><item><title>The Incredible Shrinking Process</title><guid isPermaLink="false">computers/eds-2005-10-20-16-50</guid><link>http://www.burtonini.com/blog/computers/eds-2005-10-20-16-50</link><description>Some time ago I was very pleased when I found one of the causes for the Incredible Expanding Evolution . ...</description><content:encoded><![CDATA[    <p>
      Some time ago I was very pleased when I found one of the causes for the <a
      href="http://burtonini.com/blog/computers/eds-2005-05-16-16-55">Incredible
      Expanding Evolution</a>.  At the time I was positively pleased that the
      Evolution Data Server's heap usage was under 1 megabyte when in use (the
      benchmark was to run 20 bookviews).
    </p>
    <p>
      Well, things have come on a long way since then:<br/>
      <img src="http://www.burtonini.com/computing/screenshots/eds-massif-20051020.png" alt="Massif chart"/>
    </p>
    <p>
      Now it's peaking at just under 400Kb!  The 200Kb chunk is the Berkeley DB
      cache for my addressbook, and the size of that is tunable.  After that
      come <tt>add_module</tt> and <tt>add_alias</tt> from <tt>libc</tt>'s
      <tt>gconv</tt> implementation of <tt>iconv</tt>.  Now I'm pretty sure the
      data they are loading should be made constant and shared among all
      processes.  Anybody know of existing work in this area?
    </p>
    <p>
      <small>NP: <cite>Fear Of Fours</cite>, Lamb</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-10-20T15:50:00Z</dc:date></item><item><title>Devil's Pie &quot;Lazy Release&quot; 0.14</title><guid isPermaLink="false">computers/devilspie/devilspie-0.14</guid><link>http://www.burtonini.com/blog/computers/devilspie/devilspie-0.14</link><description>Devil's Pie (someones favourite window manipulation tool) 0.14 is out. A nice and lazy release here, I just merged patches ...</description><content:encoded><![CDATA[    <p>
      Devil's Pie (someones favourite window manipulation tool) 0.14 is out.  A
      nice and lazy release here, I just merged patches from other people.
    </p>
    <ul>
      <li>Add Set Geometry (Guido Boehm)</li>
      <li>Fix Set Window Type (Stefan van der Haven)</li>
      <li>Make Pin work as expected (Jean-Yves Lefort)</li>
      <li>Append new expressions, not prepend (Lars Damerow)</li>
      <li>Fix typos in README (Larry Virden)</li>
    </ul>
    <p>
      Downloads are in the <a
        href="http://www.burtonini.com/computing/devilspie-0.14.tar.gz">usual
        place</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/devilspie</category><dc:date>2005-10-16T20:05:51Z</dc:date></item><item><title>I Need Your Cards!</title><guid isPermaLink="false">computers/vcards-2005-10-14-16-20</guid><link>http://www.burtonini.com/blog/computers/vcards-2005-10-14-16-20</link><description>To cut a long story short I've rewritten the vCard parser in Evolution but need to make sure it actually ...</description><content:encoded><![CDATA[    <p>
      To cut a long story short I've rewritten the vCard parser in Evolution but
      need to make sure it actually works correctly.  What I'd really appreciate
      is for everyone out there to send me some vCards so I can build a
      vCard parser regression test for Evolution.
    </p>
    <p>
      Obviously make a copy of any contacts you'll send and replace any
      sensitive information (change all phone numbers to 1234, all addresses to
      Foo Bar Street, etc).  As this has to test as many corner cases as
      possible vCards with entirely ASCII values produced by Evolution are
      pretty boring.  Instead I'd like:
    </p>
    <ul>
      <li>
        Cards using non-ASCII locales.  Finnish, Russian, Hindi, Korean, etc are
        all welcomed.
      </li>
      <li>
        Cards produced by programs other than Evolution.  Even if you don't
        actually use an Apple, importing a few contacts from Evolutoin into the
        OS X address book and then exporting them again would be good.
      </li>
      <li>
        Bizarre fields actually being used.  I'd like to see real-world cards
        using the linked (instead of embedded) photos, complicated use of the
        TYPE fields with custom entries, etc.  Note that cards from Evolution
        don't count here, I can produce those easily.
      </li>
    </ul>
    <p>
      Thanks!  Email any vCards you have to <a href="mailto:ross@burtonini.com">me</a>,
      although you must agree that they'll hopefully end up being distributed
      with <tt>evolution-data-server</tt> under the LGPL.
    </p>
    <p>
      <small>NP: <cite>Dreamland</cite>, Madeleine Peyroux</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-10-14T15:20:00Z</dc:date></item><item><title>World Domination</title><guid isPermaLink="false">computers/world-domination-2005-10-13-20-51</guid><link>http://www.burtonini.com/blog/computers/world-domination-2005-10-13-20-51</link><description>World Domination Will Be Ours !</description><content:encoded><![CDATA[    <p>
      <a href="http://blogs.gnome.org/view/thos/2005/10/13/0">World
      Domination</a> Will Be <a href="http://www.openedhand.com">Ours</a>!
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-10-13T19:51:00Z</dc:date></item><item><title>Suboptimality</title><guid isPermaLink="false">computers/sound-juicer/suboptimal-2005-10-07-11-05</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/suboptimal-2005-10-07-11-05</link><description>Whilst I was away at LinuxWorld Expo I see Jeff and Christian carried on the discussion started by Wingo. Jeff ...</description><content:encoded><![CDATA[    <p>
      Whilst I was away at LinuxWorld Expo I see <a
      href="http://primates.ximian.com/~fejj/blog/archives/000034.html">Jeff</a>
      and <a
      href="http://blogs.gnome.org/view/cneumair/2005/10/06/0">Christian</a>
      carried on the discussion started by Wingo.
    </p>
    <p>
      Jeff is correct and if I'd thought about it at the time I'd have realised
      that g-v-m is only responding to the "new media" signal from HAL, which
      has to wait for the drive to spin up.  One idea is that maybe HAL should
      emit a pre-device-added signal so that g-v-m can pop up a notification
      area icon saying that <em>something</em> has been inserted and it's being
      probed.
    </p>
    <p>
      However I'm not a great fan of Christian's proposal.  Personally I'd
      prefer we invented some MIME types, i.e. application/x-device-cdda for
      "can play audio CDs" and g-v-m can then display lists of applications
      based on the MIME type keys, and also use the startup notification
      information in the .desktop files.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-10-07T10:05:00Z</dc:date></item><item><title>Sound Juicer Sub-optimal?</title><guid isPermaLink="false">computers/sound-juicer/suboptimal-2005-10-03-20-57</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/suboptimal-2005-10-03-20-57</link><description>GStreamer-hero Andy Wingo recently blogged about his experience with Sound Juicer. He went as far as pinging me on IRC, ...</description><content:encoded><![CDATA[    <p>
      GStreamer-hero Andy Wingo <a
      href="http://wingolog.org/archives/2005/09/30/suboptimality">recently
      blogged</a> about his experience with Sound Juicer.  He went as far as
      pinging me on IRC, so I presume he'd like a full and thorough reply.
    </p>
    <dl>

      <dt>
        <cite>So. Someone puts in a CD. A while later, although there's no indication
        something is happening, sound-juicer pops up.</cite>
      </dt>
      <dd>
        <p>
          This is a bug in gnome-volume-manager: it doesn't give you any
          feedback that it is probing the new media, or starting Sound Juicer.
          I think a notification area icon for "new media inserted" would be
          good whilst it probes, and then the standard startup notification
          animation/panel entry when it starts up Sound Juicer.
        </p>
      </dd>

      <dt><cite>1. The process of getting tracks from wherever blocks the rest of the
      UI. I should be able to play while this is happening.</cite></dt>
      <dd>
        <p>
          The lookup of tracks does happen in a seperate thread, and starts when
          the UI unblocks.  The interface blocks because Sound Juicer called
          <tt>open</tt> on the device node, and that is blocking until the drive
          has spun up.  I may be able to put that section of code in another
          thread.  Filed as <a
          href="http://bugzilla.gnome.org/show_bug.cgi?id=317860">#317860</a>.
        </p>
      </dd>

      <dt>
        <cite>2. If I press 'play', nothing happens. I have to select the first track, then press play.</cite>
      </dt>
      <dd>
        <p>
          Weird.  [looks for CD to test] Works for me, what version are you
          using?  The 2.11.x series had lots of fixes for various issues like
          this, so you may need to upgrade.
        </p>
      </dd>

      <dt>
        <cite>3. While playing, the extract button is insensitive. So it seems I can't
        extract while playing? Fine, maybe I can play while extracting... No, can't do that
        either... It should be possible -- the first thing you want to do with a
        new CD is play it, and ripping it would be a close second. Two birds, one stone
        would be nice.</cite>
      </dt>
      <dd>
        <p>
          My stock argument for requests like this is that the playback
          functionality in Sound Juicer is intended as a guide to find the track
          the user wants to rip and not as a fully-featured player.  However,
          that's just an excuse in this case for "looks tricky".  I'm not
          expecting GStreamer to sanely handle playback and ripping at the same
          time, but maybe I'll give this a go when I switch to <tt>libcdio</tt>.
          Filed as <a
          href="http://bugzilla.gnome.org/show_bug.cgi?id=317862">#317862</a>.
        </p>
      </dd>

      <dt>
        <cite>4. If there is an error in the disc, the whole UI blocks for a long time.</cite>
      </dt>
      <dd>
        <p>
          [Insert stock grumble about cdparanoia] The extraction is in another
          thread so is about as far removed as it can get from the mainloop as I
          can get, without forking.
        </p>
      </dd>

      <dt>
        <cite>5. When the ripping is finished, the disc is ejected. Great. When I put
        another in, it blocks the sound-juicer UI without any stated reason
        for 4-5 seconds, and then doesn't even read my new CD. I have to
        fiddle in menus to manually tell s-j to reread the disc. Duh...</cite>
      </dt>
      <dd>
        <p>
          The interface blocking is the same as (1).  Sound Juicer used to
          re-read CDs correctly, so something has broken.  I'm tempted to blame
          HAL, but I'm not sure if that is correct.  I see this too so will try
          and get it fixed in 2.12.3.  Filed as <a
          href="http://bugzilla.gnome.org/show_bug.cgi?id=317864">#317864</a>.
        </p>
      </dd>

      <dt>
        <cite>6. Then, neither Rhythmbox nor Jamboree automatically adds these files to their
        libraries. There should be some way of adding files as they are finished
        writing, so that I can play them immediately. At the very least they should
        all be added when ripping finishes. Not sure how to do this though.</cite>
      </dt>
      <dd>
        <p>
          The standard solution here is that the applications should monitor the
          directories they read from with
          <tt>dnotify</tt>/<tt>inotify</tt>/whatever, so they are notified when
          a new file is created.
        </p>
      </dd>
    </dl>
    
    <p>
      Hopefully this answered all of the complaints.  Not a bad tally: two bugs
      not in Sound Juicer, a duplicate, a regression, and some bugs which are
      very non-trivial to fix.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-10-03T19:57:00Z</dc:date></item></channel></rss>