<?xml version="1.0" encoding="UTF-8" ?>
      I was very impressed with the sheer amount of snow in America I could see
      on the news and <a
      href="http://nat.org/2005/january/#23-January-2005">Nat's blog</a>, but
      never thought such a scene would happen in my own back yard.  Ladies and
      gentleman, brace yourself for a photo of The Great Blizzard of 2005:
    </p>
    <p>
      <img src="http://www.burtonini.com/photos/Misc/blizzard.jpg" width="511" height="341" alt="The Great Blizzard Of 2005"/>
    </p>
    <p>
      Brrr.  It gives me the shivers just thinking about it.  What a nightmare
      getting supplies will be...
    </p>
    <p>
      <small>NP: <cite>Ray Of Light</cite>, Madonna</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">life</category><dc:date>2012-02-18T21:25:34Z</dc:date></item><item><title>Give Me Life</title><guid isPermaLink="false">life/jeff-20040430</guid><link>http://www.burtonini.com/blog/life/jeff-20040430</link><description>Congratulations Jeff and Pipka on your engagement! It sounds like your proposal was a lot smoother than my own. We ...</description><content:encoded><![CDATA[  <p>
    Congratulations <a href="http://www.gnome.org/~jdub/blog/1083280558">Jeff</a> and <a
    href="http://www.pipka.org/blog/1083272709?flav=roses">Pipka</a> on your engagement!
  </p>
  <p>
    It sounds like your proposal was a lot smoother than my own.  We were in Rome over Easter, and
    our hotel (in the old part of the city) had a <em>wonderful</em> view over the city from the
    roof terrace.  I was forming grand plans of proposing up on the terrace, with the city lights
    and fine wine...  Then it turns a bit to cold to sit outside at 11pm and our hotel didn't sell
    wine, only small cans of beer.  Not quite the vision I had, but a million things could have
    ruined the vision (someone else on the terrace for example).  However, everything from that
    point went to plan and I still find myself grinning uncontrollably when I realise that in under
    3 months we'll be Mr and Mrs!
  </p>
]]></content:encoded><category domain="http://www.burtonini.com">life</category><dc:date>2012-02-18T21:24:27Z</dc:date></item><item><title>Shoddy Compilers, Part 2</title><guid isPermaLink="false">computers/crap-iar-20040510</guid><link>http://www.burtonini.com/blog/computers/crap-iar-20040510</link><description>Some may remember the original shoddy compilers post from December. This is basically more of the same. I mean, people. ...</description><content:encoded><![CDATA[  <p>
    Some may remember the original <a
    href="http://www.burtonini.com/blog/computers/crap-iar">shoddy compilers</a> post from
    December. This is basically more of the same.
  </p>
  <p>
    I mean, people.  With this code:
  </p>
  <pre>
int foo(void) {
  const int i = 42;
  return i + 3;
}</pre>
  <p>
    What compiler <em>doesn't</em> just optimise the body away to "return 45" when I ask for
    optimised code? Well, one which also doesn't optimise away the test in <tt>do {...}
    while(0)</tt>, that is the answer.
  </p>
  <p>
    This compiler has a positive plethora of optimisation options: you can optimise for either speed
    or size, from either level 0 to level 9. Set to size optimisation level 9, the generated code
    goes something like:
  </p>
  <blockquote>
Grow stack by 2 bytes<br/>
Put 42 in R16<br/>
Put 0 in R17<br/>
Store R16 via Z (stack pointer)<br/>
Store R17 via Z+<br/>
Put 45 in R16<br/>
Shrink stack by 2 bytes<br/>
Return (R16/R17 pair is the return value)
  </blockquote>
  <p>
    Nothing quite like 6 wasted instructions out of 7 on a &lt;4MHz processor... When people moan about
    GCC not doing the right thing, they don't know the meaning of "broken compiler".  Amusingly the
    compiler didn't generate the code to clear R17 to 0, so it either noticed that had already
    happened, or the code generator is even worse than I thought.  I'm not sure what case to
    believe in.
  </p>
  <p>
    <small>NP: <cite>When It Falls</cite>, Zero 7.</small>
  </p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2012-02-18T21:19:21Z</dc:date></item><item><title>Sound Juicer &quot;Look In The Stars And Search For The Answer&quot; 2.13.3</title><guid isPermaLink="false">computers/sound-juicer/sj-2.13.3</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.13.3</link><description>Sound Juicer &quot;Look In The Stars And Search For The Answer&quot; 2.13.3 is out. Tarballs are available on burtonini.com , ...</description><content:encoded><![CDATA[    <p>
      Sound Juicer "Look In The Stars And Search For The Answer" 2.13.3 is out.
      Tarballs are available <a
      href="http://www.burtonini.com/computing/sound-juicer-2.13.3.tar.gz">on
      <tt>burtonini.com</tt></a>, or from the <a
        href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.13/">GNOME FTP
        servers</a>.  Only one change here:
    </p>
    <ul>
      <li>Port to GStreamer 0.10</li>
    </ul>
    <p>
      Thanks to Tim-Philipp Mueller and James Livingston for helping me here.
      This needs lots of testing, there are bound to be many regressions that
      need hunting and fixing.  Everyone grab it now!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2012-02-18T21:16:31Z</dc:date></item><item><title>Sound Juicer &quot;Down The Middle Drops One More Grain Of Sand&quot; 2.12.0</title><guid isPermaLink="false">computers/sound-juicer/sj-2.12.0</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.12.0</link><description>Sound Juicer &quot;Down The Middle Drops One More Grain Of Sand&quot; 2.12.0 is out. Tarballs are available on burtonini.com , ...</description><content:encoded><![CDATA[    <p>
      Sound Juicer "Down The Middle Drops One More Grain Of Sand" 2.12.0 is out.  Tarballs are
      available <a
      href="http://www.burtonini.com/computing/sound-juicer-2.12.0.tar.gz">on
      <tt>burtonini.com</tt></a>, or from the <a
        href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.12/">GNOME FTP
        servers</a>.  Very few changes since 2.11.x:
    </p>
    <ul>
      <li>Bind F1 to Help</li>
      <li><strong>[update]</strong> Kick-arse updated documentation (thanks Shaun!)</li>
    </ul>
    <p>
	But plenty of changes for people who haven't used 2.11 including CD playback, threaded extraction, uses gnome-vfs to write the songs, and genre support.
    </p>
    <p>
      Thanks to the ever-working translators: Danilo Šegan (sr), Mohammad Damt (id), Clytie Siddall (vi),
Jean-Michel Ardantz (fr), Michiel Sikkes (nl), Roozbeh Pournader (fa).
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2012-02-18T21:15:31Z</dc:date></item><item><title>Sound Juicer &quot;Cover Me!&quot; 0.5.15</title><guid isPermaLink="false">computers/sound-juicer/sj-0.5.15</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-0.5.15</link><description>Sound Juicer &quot;Bust The Meter&quot; 0.5.15 is available -- download the tarball here . Debian packages available in my repository ...</description><content:encoded><![CDATA[    <p>
      Sound Juicer "Bust The Meter" 0.5.15 is available -- download the <a
        href="http://www.burtonini.com/computing/sound-juicer-0.5.15.tar.gz">tarball
        here</a>. Debian packages available in <a
        href="http://www.burtonini.com/debian">my repository</a> and are in the
      upload queue as usual.
    </p>
    <ul>
<li>Handle errors when transforming filename encoding fails (Frederic Crozat)</li>
<li>Handle MusicBrainz saying it has found a matching album when it hasn't (FC)</li>
<li>Fix the "time remaining" calculations (hondaguru)</li>
<li>Updated libbacon, fixing various issues</li>
<li>Fix crashes due to the idle handler not being removed (Colin Walters)</li>
<li>Stop using the deprecated _() in libgnome (Mariano Suárez-Alvarez)</li>
   </ul>
    <p>
      <small>NP: <cite>Two Pages</cite>, 4 Hero</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2012-02-18T21:15:19Z</dc:date></item><item><title>Devil's Pie &quot;Sell Sell Sell&quot; 0.19</title><guid isPermaLink="false">computers/devilspie/devilspie-0.19</guid><link>http://www.burtonini.com/blog/computers/devilspie/devilspie-0.19</link><description>Devil's Pie (someones favourite window manipulation tool) 0.19 is out. Just a fix for older systems here. Don't use wnck_window_set_geometry ...</description><content:encoded><![CDATA[    <p>
      Devil's Pie (someones favourite window manipulation tool) 0.19 is out.
      Just a fix for older systems here.
    </p>
    <ul>
      <li>Don't use <tt>wnck_window_set_geometry</tt> as it was introduced in
      GNOME 2.16 (#381233).</li>
    </ul>
    <p>
      Downloads are in the <a
        href="http://www.burtonini.com/computing/devilspie-0.19.tar.gz">usual
        place</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/devilspie</category><dc:date>2012-02-18T21:14:06Z</dc:date></item><item><title>Volunteers Needed!</title><guid isPermaLink="false">computers/flickr-2012-01-18-17-45</guid><link>http://www.burtonini.com/blog/computers/flickr-2012-01-18-17-45</link><description>Those lovely people over at Flickr have finally bitten the bullet and are turning off FlickrAuth in the summer, meaning ...</description><content:encoded><![CDATA[<p>
	Those lovely people over at Flickr have finally bitten the bullet and are <a href="http://code.flickr.com/blog/2012/01/13/farewell-flickrauth/">turning off FlickrAuth</a> in the summer, meaning that all applications that use the Flickr API need to use OAuth.
</p>
<p>
	This is something I totally agree with, whilst FlickrAuth works and was clearly an important influence on OAuth, it's a single-service protocol when OAuth has managed to get massive adoption and a huge developer base.
</p>
<p>
	The problem I've got is <tt>libsocialweb</tt>, which has a Flickr module that allows both fetching of your contact's recent photos and uploading images.  This uses FlickrAuth so at the end of July will suddenly stop working.  I've got enough on my plate at the moment and would love for more people to understand how the entire social spagetti works, so this is a call for a volunteer to work on this, for which I'll obviously be available to offer any guidance and mentoring required.
</p>
<p>
	There are two ways of approaching this, the easy way and the slightly harder way.
</p>
<p>
	The easy way is to update <tt>libsocialweb</tt> to use an <tt>OAuthProxy</tt> instead of a <tt>FlickrProxy</tt>, and update the module metadata so that Bisho uses the generic OAuth flow instead of a Flickr-specific flow.  This should be fairly simple and needs to happen soon so that any distributions that are using <tt>libsocialweb</tt> don't break in the summer.
</p>
<p>
	The harder way is to add Flickr support to <tt>gnome-online-accounts</tt>, using the Twitter service as an example, and then port the Flickr service in libsocialweb to use <tt>gnome-online-accounts</tt> to authenticate.  I've a proof of concept for the librest-goa integration which will be a useful starting point.  This is more of a proof of concept for <tt>libsocialweb</tt>, we've been looking at moving away from Bisho but haven't done anything substantial yet.
</p>
<p>
	Ideally both of these happen, so the current code will continue to work in the future and the GOA work demonstrates how GOA and <tt>libsocialweb</tt> would work together.  So, anyone interested?
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2012-01-18T17:45:00Z</dc:date></item><item><title>iPhoneApMon in Shell</title><guid isPermaLink="false">computers/iphoneapmon-2011-11-17-18-24</guid><link>http://www.burtonini.com/blog/computers/iphoneapmon-2011-11-17-18-24</link><description>This really isn't how it should look, but it's a 15 minute hack in Javascript to give me something that ...</description><content:encoded><![CDATA[<p>
  This really isn't how it should look, but it's a 15 minute hack in Javascript
  to give me <em>something</em> that doesn't involve a terminal.
</p>
<p>
  <img src="http://burtonini.com/computing/screenshots/iphoneapmon.png"/>
</p>
<p>
  One day I'll find the time to integrate this properly into the network menu...
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-11-17T18:24:00Z</dc:date></item><item><title>iPhone Connection Status</title><guid isPermaLink="false">computers/iphone-2011-07-06-09-51</guid><link>http://www.burtonini.com/blog/computers/iphone-2011-07-06-09-51</link><description>Just a little Python hack... $ ./iphonemon.py Found Ross Burton’s iPhone 3 3G 1 3_75G 2 3_75G 3 3_75G 2 ...</description><content:encoded><![CDATA[<p>
  Just a little Python hack...
</p>
<pre>$ ./iphonemon.py 
Found Ross Burton’s iPhone
3 3G
1 3_75G
2 3_75G
3 3_75G
2 3_75G
3 3_75G
2 3G</pre>
<p>
  Next step: a visual interface.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-07-06T08:51:00Z</dc:date></item><item><title>System Defaults in GSettings</title><guid isPermaLink="false">computers/gsettings-override-2011-07-04-15-45</guid><link>http://www.burtonini.com/blog/computers/gsettings-override-2011-07-04-15-45</link><description>Note: Florian in the comments points me at the documentation (albeit rather concise) for this in the API documentation under ...</description><content:encoded><![CDATA[<p>
  <strong>Note:</strong> Florian in the comments points me at the documentation
  (albeit rather concise) for
  this <a href="http://developer.gnome.org/gio/stable/GSettings.html#GSettings.description">in
  the API documentation</a> under <cite>Vendor Overrides</cite>.
</p>
<p>
  GSettings, like GConf before it, allows the administrator of a system to
  override the default settings or lock down keys to particular settings.  This
  is <a href="https://live.gnome.org/dconf/SystemAdministrators">well documented
  in the GNOME wiki</a>.
</p>
<p>
  However GConf didn't really have the concept of vendor patches.  Traditionally
  if a Vendor wanted to change a default (say, the wallpaper) they'd have to
  patch the GConf schemas directly.  Luckily for people who maintain
  distributions, GSettings provides a way of installing vendor overrides
  directly.  It's not documented as far as I can tell so consider this a first
  draft at the manual...
</p>
<p>
  First, find the setting you want to override, <tt>dconf-editor</tt> is useful
  for this.  Say you're making a work-orientated custom distribution so you want
  the shell's popup calendar to show the week number by default.  Some digging
  in <tt>dconf-editor</tt> leads us to the <tt>org.gnome.shell.calendar</tt>
  folder (the "schema") with a boolean key <tt>show-weekdate</tt> that defaults
  to <tt>false</tt>.  By changing the default of this to <tt>true</tt>, all
  users will have work week shown unless they explicitly set it
  to <tt>false</tt>.
</p>
<p>
  Now we've found the information we need we can write the override file.
  Create a new file with the extension <tt>.gschema.override</tt>, such
  as <tt>mydistro-tweaks.gschema.override</tt>.  This file is a .ini-style
  keyfile, logically mapping schemas to groups and key/value pairs to
  (predicable) key/value pairs.  The value needs to be in
  the <a href="http://developer.gnome.org/glib/stable/gvariant-text.html">GVariant
  serialisation format</a>, but for things like booleans, numbers and strings
  these are fairly obvious.  So we'd have a file that looks a little something like this:
</p>
<pre>[org.gnome.shell.calendar]
  show-weekdate=true</pre>
<p>
  Note that you can set multiple keys in multiple schemas in the same override
  file, so if we also wanted to show the date in the panel we'd have this:
</p>
<pre>[org.gnome.shell.calendar]
show-weekdate=true

[org.gnome.shell.clock]
show-date=true</pre>
<p>
  Now the file is ready to be installed.  Put it in a package, install
  to <tt>$prefix/share/glib-2.0/schemas</tt> and finally
  run <tt>glib-compile-schemas $prefix/share/glib-2.0/schemas</tt> in the
  post-install/post-remove hooks.  Done!
</p>
<p>
  (many thanks to Ryan Lortie for telling me how vendor patches work)
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-07-04T14:45:00Z</dc:date></item><item><title>AirPlay/UPnP Synergy</title><guid isPermaLink="false">computers/synergy-2011-04-19-12-00</guid><link>http://www.burtonini.com/blog/computers/synergy-2011-04-19-12-00</link><description>You know, it would be really good if someone could take ShairPort , glue that to gst-rtsp-server , and then ...</description><content:encoded><![CDATA[<p>
  You know, it would be really good if someone could
  take <a href="https://github.com/albertz/shairport">ShairPort</a>, glue that
  to <tt>gst-rtsp-server</tt>, and then implement the
  Rygel <a href="https://live.gnome.org/Rygel/MediaServer2Spec">MediaServer</a>
  specification, letting me play music from my iPhone on my Raumfeld UPnP
  speakers.
</p>
<p>
  I'd actually like this so much that I'm willing to put up some of my own hard
  cash to see it happen.  Are there sites that will let people pledge money
  towards projects like this?
</p>
<p>
  <small>NP: <cite>Central Reservation</cite>, Beth Orton</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-04-19T11:00:00Z</dc:date></item><item><title>Contributions to libsocialweb</title><guid isPermaLink="false">computers/libsocialweb-2011-02-22-16-45</guid><link>http://www.burtonini.com/blog/computers/libsocialweb-2011-02-22-16-45</link><description>Thanks to those nice people at Novell and Collabora, libsocialweb now supports Facebook, Flickr, Last.fm, Plurk, Sina, SmugMug, Twitter, Vimeo ...</description><content:encoded><![CDATA[<p>
  Thanks to those nice people at Novell and
  Collabora, <a href="http://git.gnome.org/browse/libsocialweb">libsocialweb</a>
  now supports Facebook, Flickr, Last.fm, Plurk, Sina, SmugMug, Twitter, Vimeo
  and YouTube.  As if that isn't enough, there are patches queued to bring back
  MySpace.  Thanks Novell and Collabora!
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-02-22T16:45:00Z</dc:date></item><item><title>Tasks 0.19</title><guid isPermaLink="false">computers/tasks-2011-02-18-13-20</guid><link>http://www.burtonini.com/blog/computers/tasks-2011-02-18-13-20</link><description>Shock news: a Tasks release! Announcing 0.19: Lots of translations Fix i18n in the about dialog Yeah, it's all go ...</description><content:encoded><![CDATA[<p>
  Shock news: a <a href="http://www.pimlico-project.org/tasks.html">Tasks</a>
  release!  Announcing 0.19:
</p>
<ul>
  <li>Lots of translations</li>
  <li>Fix i18n in the about dialog</li>
</ul>
<p>
  Yeah, it's all go on the Tasks front...  Tarballs on the Pimlico site, or
  gnome.org.
</p>
<p>
  <small>NP: <cite>Yanqui U.X.O.</cite> - Godspeed You! Black Emperor</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2011-02-18T13:20:00Z</dc:date></item><item><title>Welcome</title><guid isPermaLink="false">life/isla-2010-11-13-08-00</guid><link>http://www.burtonini.com/blog/life/isla-2010-11-13-08-00</link><description>Say hello to Isla Daisy Burton. Born at home (planned) on Thursday 4th November 2010 at 19:08, weighing 6 pounds ...</description><content:encoded><![CDATA[<p>
  Say hello to Isla Daisy Burton.
</p>
<p>
  <a class="noline" href="http://www.flickr.com/photos/rossburton/5147009874/" title="Isla Daisy Burton">
    <img class="thumbnail" src="http://farm2.static.flickr.com/1077/5147009874_d5ca18f785_z.jpg" width="640" height="360" alt="Isla Daisy Burton" />
  </a>
</p>
<p>
  Born at home (planned) on Thursday 4th November 2010 at 19:08, weighing 6
  pounds 14.5 ounces.  Both mother and baby are well.  I'm now on leave until
  the end of December, so expect delayed responses to my personal email and
  vacation autoreplies to my Intel email.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">life</category><dc:date>2010-11-13T08:00:00Z</dc:date></item><item><title>Code Dump</title><guid isPermaLink="false">computers/github-2010-11-13-07-59</guid><link>http://www.burtonini.com/blog/computers/github-2010-11-13-07-59</link><description>I finally got around to clearing out my ~/Programming and publishing a number of the silly toy projects I've built ...</description><content:encoded><![CDATA[<p>
  I finally got around to clearing out my ~/Programming and publishing a number
  of the silly toy projects I've built up over the years that might be useful to
  someone, somewhere.  A brief overview of what I've basically thrown over the
  wall to GitHub:
</p>
<dl>
  <dt><a href="https://github.com/rossburton/flickrest">flickrest</a></dt>
  <dd>
    A Python/Twisted library for the Flickr API.  This was written for use in
    Postr, although I suspect now that I don't maintain Postr any more they have
    forked.  Maybe now this is in Git we can merge any changes.
  </dd>

  <dt><a href="https://github.com/rossburton/evo-known-contact">evo-known-contact</a></dt>
  <dd>
    A small tool I wrote for someone years ago that takes an RFC2822-formatted
    email on stdin, extracts the sender, and sets the exit code depending on
    whether that email address is in the address book.
  </dd>

  <dt><a href="https://github.com/rossburton/feednotify">feednotify</a></dt>
  <dd>
    Display notifications when a RSS feed is updated.
  </dd>

  <dt><a href="https://github.com/rossburton/zebu">Zebu</a></dt>
  <dd>
    A tool to manage Debian <tt>chroots</tt> using <tt>cowbuilder</tt>.
  </dd>

  <dt><a href="https://github.com/rossburton/tumblrss">Tumblrss</a></dt>
  <dd>
    Screen-scrape your Tumblr dashboard and generate a RSS feed.  This has
    bitrotted but was very useful.
  </dd>

  <dt><a href="https://github.com/rossburton/gupnp-scrobbler">gupnp-scrobbler</a></dt>
  <dd>
    Listen to announcements over UPnP of music being played and submit the
    tracks to Last.fm.
  </dd>

  <dt><a href="https://github.com/rossburton/ephy-gupnp">ephy-gupnp</a></dt>
  <dd>
    Dynamically generate bookmarks from UPnP devices that expose a web
    interface.  Probably doesn't work with recent Epiphany releases because I've
    switched to Chrome.
  </dd>

  <dt><a href="https://github.com/rossburton/ephydeli">ephydeli</a></dt>
  <dd>
    An action to add the current page to Delicious.com. Probably doesn't work
    with recent Epiphany releases because I've switched to Chrome <em>and</em>
    Pinboard.
  </dd>

  <dt><a href="https://github.com/rossburton/eds-tools">eds-tools</a></dt>
  <dd>
    Some tools I wrote when working on EDS such as a dummy addressbook backend
    and command-line access to the <tt>libebook</tt> API.
  </dd>

  <dt><a href="https://github.com/rossburton/cdscrobbler">cdscrobbler</a></dt>
  <dd>
    Submit the current CD (or an arbitrary MusicBrainz album ID) to Last.fm as
    if you'd just finished playing it.
  </dd>
</dl>

<p>
  Out of all of these hacks I only actively use flickrest and Zebu now, so I
  wouldn't be surprised if there is some serious bitrot in the others.
  Hopefully something here is useful to someone, somewhere though!
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2010-11-13T07:59:00Z</dc:date></item><item><title>Tasks 0.18 (and 0.17)</title><guid isPermaLink="false">computers/tasks-2010-07-12-20-00</guid><link>http://www.burtonini.com/blog/computers/tasks-2010-07-12-20-00</link><description>Whilst Tasks isn't exactly under active development, I'm still maintaining it because I actually use it (unlike certain other projects, ...</description><content:encoded><![CDATA[<p>
  Whilst <a href="http://www.pimlico-project.org/tasks.html">Tasks</a> isn't
  exactly under active development, I'm still maintaining it because I actually
  use it (unlike certain other projects, ahem).  So, Tasks 0.18 is released.
</p>
<ul>
  <li>Huge translation update, including several missing strings</li>
  <li>Add a "tomorrow" button to the date popup</li>
  <li>Support adding tasks from the command line</li>
  <li>Use "category" over "group" consistantly</li>
  <li>Ensure the entry is correctly styled</li>
  <li>Ellipzies categories in the combo box</li>
  <li>Correctly encode non-ASCII notes</li>
  <li>Fix compilation with GTK+ 2.18</li>
</ul>
<p>
  Tarballs and more information as usual are available at
  the <a href="http://www.pimlico-project.org/tasks.html">Pimlico Project</a>
  web site.
</p>
<p>
  In related news, we're slowly migrating over to the GNOME infrastructure.
  We've migrated the source code, next up is the tarballs and bugzilla.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2010-07-12T19:00:00Z</dc:date></item><item><title>Gypsy 0.8 Released</title><guid isPermaLink="false">computers/gypsy-2010-06-09-17-05</guid><link>http://www.burtonini.com/blog/computers/gypsy-2010-06-09-17-05</link><description>As acting release engineer of the Gypsy project (a GPS mux, if you didn't know) I'm proud to announce the ...</description><content:encoded><![CDATA[<p>
  As acting release engineer of
  the <a href="http://gypsy.freedesktop.org/">Gypsy</a> project (a GPS mux, if
  you didn't know) I'm proud to announce the release of Gypsy 0.8.  So, what's
  new?
</p>
<ul>
  <li>Support the Nokia N810 integrated GPS.  If someone can verify that this
  works for the N900 too, that would be great.</li>
  <li>Ability to dump the parsed NMEA to the console for debugging</li>
  <li>Fixed over-eager old-school Garmin detection</li>
  <li>Support reading NMEA from named pipes and FIFOs</li>
  <li>Support seting the baud rate on ghetto GPS devices that don't default to a baud rate that actually works (Globalsat ND-100 and BlueNext BN-903S, I'm looking at you)</li>
  <li>Support NMEA &lt; 2.3</li>
</ul>
<p>
  Many thanks to Jussi Kukkonen for patch review, and Bastien Nocera for patch
  review and new features.
</p>
<p>
  The big question of course is what of the future?  So far we've got some rough
  ideas.  An overhaul of the device interaction layer is definitely required as
  actaully getting NMEA is becoming more complex: for integrated 3G/GPS chips
  you need to talk to oFono/ModemManager to get a socket, for some embedded GPS
  devices you need a proprietary binary that writes to a pipe, and so on.  There
  are some new features we're considering too: server-side proximity detection
  and update rate limiting.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2010-06-09T16:05:00Z</dc:date></item><item><title>Sound Juicer &quot;I Got Nobody On My Side And Surely That Ain't Right&quot; 2.28.1</title><guid isPermaLink="false">computers/sound-juicer/sj-2.28.1</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.28.1</link><description>Sound Juicer &quot;I Got Nobody On My Side And Surely That Ain't Right&quot; 2.28.1 has been released. Tarballs are available ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "I Got Nobody On My Side And Surely That Ain't Right" 2.28.1 has
  been released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.28.1.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.28/">GNOME
    FTP servers</a>.  Props to Bastien for doing most of the work here.
</p>
<ul>
  <li>Many translations</li>
  <li>Use gnome-session instead of gnome-power-manager to avoid
    the machine going to sleep (Richard Hughes)</li>
  <li>Fix a few crashers when extracting an unknown CD (Bastien Nocera)</li>
  <li>Fix CD-Text metadata gathering (BN)</li>
  <li>Don't truncate submission URLs (BN)</li>
  <li>Extract UUIDs to put in ripped files' metadata (Philipp Wolfer)</li>
  <li>Fix some bugs in test program (Alex Larsson)</li>
</ul>
<p>
  Bastien originally called this release <cite>Not the maintainer, lalala, plug
  ears</cite> but we all know he is, right?
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-11-25T15:43:48Z</dc:date></item><item><title>New Maintainer for Postr!</title><guid isPermaLink="false">computers/postr/new-maintainer-2009-11-12-10-49</guid><link>http://www.burtonini.com/blog/computers/postr/new-maintainer-2009-11-12-10-49</link><description>After months of neglect by myself, Postr has a new maintainer! Step forward Germán Póo-Caamaño, everyone's favourite Chilean, who has ...</description><content:encoded><![CDATA[<p>
  After months of neglect by myself, Postr has a new maintainer!  Step forward
  Germán Póo-Caamaño, everyone's favourite Chilean, who has been hard at work
  migrating to <a href="http://git.gnome.org/cgit/postr">git.gnome.org</a>,
  merging patches and fixing bugs (the Upload button works!), and creating
  a <a href="http://projects.gnome.org/postr/">new project page</a>.
</p>
<p>
  Now all I need is for someone to adopt Sound Juicer...
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/postr</category><dc:date>2009-11-12T10:49:00Z</dc:date></item><item><title>London Transport Stab Stab Die Die</title><guid isPermaLink="false">life/london-2009-09-27-15-51</guid><link>http://www.burtonini.com/blog/life/london-2009-09-27-15-51</link><description>Sometimes I really, really hate London. A trip to London on Saturday, in theory: Leave Ely 16:26, arrive Kings Cross ...</description><content:encoded><![CDATA[<p>
  Sometimes I really, <em>really</em> hate London. A trip to London on Saturday,
  in theory: Leave Ely 16:26, arrive Kings Cross 17:34, change to Piccadilly
  line and arrive Covent Garden at 17:54.  Dinner then the 21:52 train back
  home, arriving 23:10.
</p>
<p>
  A trip to London on Saturday, in practise.  Leave Ely 16:26, arrive Kings
  Cross 10 minutes late. Change to Piccadilly line and stand outside the closed
  barriers for 15 minutes because of overcrowding. Give up on the tube, catch a
  number 59 bus to Aldwych: 10 minutes to reach Euston (faster to walk) and gave
  up after sitting in gridlock on Russel Square for 15 minutes.  Eventually get
  rather empty Piccadilly line from Russel Square to Covent Garden, arriving
  18:50.  Oh, and then <a href="http://www.wahaca.co.uk/">the restaurant</a>
  said it would be a two hour wait for a table for four.
</p>
<p>
  That said, the return journey wasn't exactly a barrel of laughs.  The tube was
  behaving so that took the expected ten minutes, but then we just missed the
  train back home and the next train wasn't for over an hour. Jump into a taxi
  to Liverpool Street to catch the 22:26... to discover there are engineering
  works and we'd have to get a bus for two hours.  Attempt to get the tube back
  to Kings Cross... more engineering works so that was out.  <em>Another</em>
  taxi back to Kings Cross and we finally get on the last train home, arriving
  at 00:35.
</p>
<p>
  Just for extra fun I'm in London for the Moblin 2.0 Release Party on Monday
  and there are <em>yet more</em> engineering works, so if I miss the 22:15 I'll
  be on a bus for half the journey.  Stab stab stab.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">life</category><dc:date>2009-09-27T14:51:00Z</dc:date></item><item><title>Sound Juicer &quot;And It Ain't Even 9 In The Morning, Sorry I'm Late&quot; 2.28.0</title><guid isPermaLink="false">computers/sound-juicer/sj-2.28.0</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.28.0</link><description>Sound Juicer &quot;And It Ain't Even 9 In The Morning, Sorry I'm Late&quot; 2.28.0 has been released. Tarballs are available ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "And It Ain't Even 9 In The Morning, Sorry I'm Late" 2.28.0 has
  been released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.28.0.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.28/">GNOME
    FTP servers</a>.  Very little in the 2.27 cycle...
</p>
<ul>
  <li>Many translations</li>
  <li>Updated documentation</li>
  <li>Disable paranoia on playback (Bastien Nocera)</li>
  <li>Fix leaks and crashes in the metadata fetches (BN)</li>
</ul>
<p>
  Did I mention that SJ could really do with a dedicated (co)maintainer?
</p>


]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-09-22T19:54:38Z</dc:date></item><item><title>Facebook in &amp;#161;Mojito!</title><guid isPermaLink="false">computers/mojito-facebook-2009-09-14-10-04</guid><link>http://www.burtonini.com/blog/computers/mojito-facebook-2009-09-14-10-04</link><description>Thanks to those nice people at Novell, Mojito (everyone's favourite social aggregator, as used in Moblin ) now has Facebook ...</description><content:encoded><![CDATA[<p>
  Thanks to those nice people at
  Novell, <a href="http://moblin.org/projects/mojito">Mojito</a> (everyone's
  favourite social aggregator, as used
  in <a href="http://moblin.org">Moblin</a>) now has Facebook support.  We now
  support Facebook, Flickr, Last.fm, MySpace and Twitter &#8212; any requests for the next service?
</p>
<p>
  <small>NP: <cite>Cold Water Music</cite>, AiM</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-09-14T09:04:00Z</dc:date></item><item><title>ORBit--; DBus++</title><guid isPermaLink="false">computers/eds-2009-08-17-20-47</guid><link>http://www.burtonini.com/blog/computers/eds-2009-08-17-20-47</link><description>Today I finally merged the dbus-hybrid branch of Evolution Data Server into master , which ported the addressbook part of ...</description><content:encoded><![CDATA[<p>
  Today I finally merged the <tt>dbus-hybrid</tt> branch of Evolution Data
  Server into <tt>master</tt>, which ported the addressbook part of EDS to use
  DBus instead of Bonobo.  There are bound to be some bugs in this so if you are
  running EDS from master and find a bug, <em>please</em> file it in GNOME
  Bugzilla.
</p>
<p>
  Now to finish reviewing the calendar port and merge that too...
</p>
<p>
  <small>NP: <cite>Session 2</cite> - The Herbaliser Band</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-08-17T19:47:00Z</dc:date></item><item><title>Dear Interweb: Travel Mug Suggestions</title><guid isPermaLink="false">life/coffee-2009-08-10-21-37</guid><link>http://www.burtonini.com/blog/life/coffee-2009-08-10-21-37</link><description>I'm looking for a travel mug for when I go to the office and need some recommendations. So far every ...</description><content:encoded><![CDATA[<p>
  I'm looking for a travel mug for when I go to the office and need some
  recommendations. So far every one I've found is sealable enough so that it
  won't splash around when it is upright (say in a car mug holder), but as this
  has to survive a cycle ride across town in my bag it has to have a perfect
  seal.  Does anyone know of a mug like this, or should I resign myself to being
  forced to grab a coffee from <a href="http://www.taylor-st.com/">Taylor Street
  Baristas</a> when I get to London?
</p>
]]></content:encoded><category domain="http://www.burtonini.com">life</category><dc:date>2009-08-10T20:37:00Z</dc:date></item><item><title>Gypsy 0.7</title><guid isPermaLink="false">computers/gypsy-2009-08-06-15-52</guid><link>http://www.burtonini.com/blog/computers/gypsy-2009-08-06-15-52</link><description>Earlier in the week someone pointed out over email that considering the entire geolocalisation thing is starting to come together, ...</description><content:encoded><![CDATA[<p>
  Earlier in the week someone pointed out over email that considering the entire
  geolocalisation thing is starting to come together, it's not great that Gypsy
  (the modern GPS daemon for the modern desktop) appears dead.  Well, it's not
  quite dead, and to prove it I fixed the bugs that were stopping me from
  uploading it into Debian.  Specifically, the hard requirement to run it
  as <tt>root</tt> and the lack of DBus auto-starting (to be fair, when it was
  written this wasn't supported on the system bus).  These are now fixed at last
  and Gypsy 0.7 is available to download
  from <a href="http://gypsy.freedesktop.org/">freedesktop.org</a>.
</p>
<p>
  Packages for Debian are in the upload queue now, and I believe everyones
  <a href="http://hadess.net/">favourite frockney</a> is working on updating Fedora now.
</p>
<p>
  <small>NP: <cite>Oneric</cite>, Boxcutter</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-08-06T14:52:00Z</dc:date></item><item><title>OAuth 1.0a in librest</title><guid isPermaLink="false">computers/oauth-2009-08-04-11-34</guid><link>http://www.burtonini.com/blog/computers/oauth-2009-08-04-11-34</link><description>Because the world is rapidly moving to OAuth 1.0a exclusively after a rather painful attack was discovered against 1.0, I've ...</description><content:encoded><![CDATA[<p>
  <a class="noline" href="http://www.flickr.com/photos/rossburton/3465149212/">
    <img class="thumbnail" src="http://farm4.static.flickr.com/3507/3465149212_af1f819e6f.jpg" width="500" height="333"/>
  </a>
</p>
<p>
  Because the world is rapidly moving to
  <a href="http://oauth.net/core/1.0a">OAuth 1.0a</a> exclusively after a rather
  painful attack was discovered against 1.0, I've recently been updating our
  bling HTTP/REST/XML IPC
  library <a href="http://moblin.org/projects/librest">librest</a> to support
  it.  In particular Twitter only supports 1.0a, and Fire Eagle shows the user
  a <em>very</em> scary message unless 1.0a is used.  Now that the code is
  finished I thought I'd give a example of the new API when used with Twitter.
</p>
<pre>#include &lt;rest/oauth-proxy.h&gt;</pre>
<p>
  Including the OAuthProxy headers is a good start.
</p>
<pre>int
main (int argc, char **argv)
{
  GError *error = NULL;
  RestProxy *proxy;

  g_thread_init (NULL);
  g_type_init ();

  proxy = oauth_proxy_new ("UfXFxDbUjk41scg0kmkFwA",
                           "pYQlfI2ZQ1zVK0f01dnfhFTWzizBGDnhNJIw6xwto",
                           "https://twitter.com/", FALSE);</pre>
<p>
  First, initalise the GLib threading and type system.  Threading is required by
  libsoup at the moment because it will use threads to lookup names in the
  background, I imagine this requirement will disappear with the next GLib release.
</p>
<p>
  Next, an OAuthProxy is created.  The two strings of garbage are our OAuth
  Consumer Key and Consumer Secret, then the URL endpoint to access
  and <tt>FALSE</tt> to say that this URL is complete and doesn't require
  expansion.  Yes, that was Consumer <cite>Secret</cite>.  Not very secret, is
  it.
</p>
<pre>  if (!oauth_proxy_request_token (OAUTH_PROXY (proxy), "oauth/request_token", "oob", &amp;error))
    g_error ("Cannot get request token: %s", error->message);</pre>
<p>
  Here we ask for a Request Token.  The function to call
  is <tt>oauth/request_token</tt>, and because this is a basic test application
  which doesn't support URI callbacks we're setting the callback URI
  to <tt>oob</tt> (out-of-band).  It is the callback URI argument that tells the
  server that we're using OAuth 1.0a, in 1.0 this parameter
  (<tt>oauth_callback</tt> at the HTTP leve) doesn't exist.
</p>
<p>
  The callback is used to pass from the server to the client
  a <cite>verifier</cite> which is then required to obtain the Access Token. In
  the case of Twitter, this is a seven digit number.  If a URI was specified
  then it would be invoked with the verifier as a query argument, but because
  we're getting it out-of-band Twitter will show it to the user and ask them to
  enter it into the application.
</p>
<pre>  g_print ("Go to http://twitter.com/oauth/authorize?oauth_token=%s then enter the PIN\n",
           oauth_proxy_get_token (OAUTH_PROXY (proxy)));
  fgets (pin, sizeof (pin), stdin);
  g_strchomp (pin);</pre>
<p>
  Here we tell the user to go to the authorisation URL (to which we add the
  request token we have so far), and then enter the PIN that Twitter gives them.
</p>
<pre>  if (!oauth_proxy_access_token (OAUTH_PROXY (proxy), "oauth/access_token", pin, &error))
    g_error ("Cannot get access token: %s", error->message);</pre>
<p>
  Now we ask for an Accesss Token.  The function to call
  is <tt>oauth/access_token</tt>, and we're passing the PIN the user entered as
  the validator.  If we were using OAuth 1.0 then the validator would
  be <tt>NULL</tt>.
</p>
<p>
  If this method succeeds then we have an Access Token, and are authenticated.
  To avoid the authentication dance the Access Token and Token Secret should be
  saved somewhere secure (gnome-keyring would be a good idea) for future use.
</p>
<pre>  RestProxyCall *call;
  call = rest_proxy_new_call (proxy);
  rest_proxy_call_set_function (call, "statuses/update.xml");
  rest_proxy_call_set_method (call, "POST");
  rest_proxy_call_add_param (call, "status", "Hello from librest!");
  if (!rest_proxy_call_sync (call, &error))
    g_error ("Cannot make call: %s", error->message);
  return 0;
}</pre>
<p>
  First a Call object is created, which encapsulates all of the data required to
  make a REST call.  The function is set to <tt>status/update.xml</tt>, the HTTP
  method set to <tt>POST</tt> (the default is, logically, <tt>GET</tt>), and a
  status message is set as a parameter.  We make a synchronous call,
  and <a href="http://twitter.com/rossburton/status/3125299577">we're done</a>.
  The bonus of using OAuth to authorise with Twitter is that you get the nice
  "from whatever" annotations on the tweets, to promote your application.
</p>
<p>
  The full source of this example is
  available <a href="http://git.moblin.org/cgit.cgi/librest/plain/examples/post-twitter.c">in
  git</a>, along with other examples for Flickr and Fire Eagle.  If you want to
  understand the differences between OAuth 1.0 and 1.0a but don't fancy reading
  both specifications in full, I can heartily
  endorse <a href="http://mojodna.net/2009/05/20/an-idiots-guide-to-oauth-10a.html">An
  Idiots Guide To OAuth 1.0a</a>.
</p>
<p>
  <small>NP: <cite>Simple Things</cite>, Zero 7</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-08-04T10:34:00Z</dc:date></item><item><title>GList Anti-patterns</title><guid isPermaLink="false">computers/list-2009-07-16-16-11</guid><link>http://www.burtonini.com/blog/computers/list-2009-07-16-16-11</link><description>g_list_length(children); for (int i = 0; i &lt; (int)num; i++) { GList * child = g_list_nth(children, num - i - ...</description><content:encoded><![CDATA[<pre>g_list_length(children);
for (int i = 0; i &lt; (int)num; i++) {
  GList * child = g_list_nth(children, num - i - 1);</pre>
<p>
  <a href="http://www.google.com/codesearch/p?hl=en&sa=N&cd=3&ct=rc#NVng75fSisY/mozilla/widget/src/gtk2/nsWindow.cpp&q=g_list_length%20-glib&l=3972"><strong>FAIL</strong></a>
</p>
<pre>if (g_list_length(nb_pages) != 0) {</pre>
<p>
  <a href="http://www.google.com/codesearch/p?hl=en&sa=N&cd=2&ct=rc#emmXna8sEVo/wxGTK-2.4.0/src/gtk/notebook.cpp&l=322"><strong>FAIL</strong></a>
</p>
<pre>for( i=0; i &lt; g_list_length( GTK_CLIST(clist)->selection; i++ ){
  gint row = (gint)g_list_nth_data( GTK_CLIST(clist)->selection, i);</pre>
<p>
<a href="http://mail.gnome.org/archives/gtk-app-devel-list/1999-April/msg00037.html"><strong>TURBOFAIL</strong></a>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-07-16T15:11:00Z</dc:date></item><item><title>Tasks 0.16</title><guid isPermaLink="false">computers/tasks-2009-07-13-08-27</guid><link>http://www.burtonini.com/blog/computers/tasks-2009-07-13-08-27</link><description>Some stability fixes, translation updates, and small new features in Tasks 0.16. Don't crash if you edit a task and ...</description><content:encoded><![CDATA[<p>
  Some stability fixes, translation updates, and small new features in Tasks
  0.16.
</p>
<ul>
  <li>Don't crash if you edit a task and then delete it</li>
  <li>Lots of translations</li>
  <li>Don't use SexyIconEntry</li>
  <li>Move task ellipsising to the middle</li>
  <li>Show tooltips for tasks with notes</li>
</ul>
<p>
  As usual, download from
  the <a href="http://pimlico-project.org/tasks.html">Pimlico Project</a>.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-07-13T07:27:00Z</dc:date></item><item><title>Myzone on Eee Keyboard</title><guid isPermaLink="false">computers/eee-moblin-2009-06-15-18-00</guid><link>http://www.burtonini.com/blog/computers/eee-moblin-2009-06-15-18-00</link><description>Asus had previously announced the Eee Keyboard, which isn't a keyboard but more a netbook with a full sized keyboard ...</description><content:encoded><![CDATA[<p>
  Asus had previously announced the Eee Keyboard, which isn't a keyboard but
  more a netbook with a full sized keyboard and <em>wireless HDMI</em>. The end
  result being that this is the ideal companion to your huge 1080p LCD
  television in the front room for light browsing and so on.
</p>
<p>
  Now the Eee Keyboard also has a small touchscreen by the side of the keyboard,
  which had generally been shown displaing a calendar and the time.  Fairly
  useful but nothing that interesting.  However, they have recently demonstrated
  Moblin 2 running on the Eee, including the Myzone social desktop update thingy.
</p>
<p>
  <img src="http://burtonini.com/images/eee-myzone.png" alt="Myzone on Eee Keyboard"/>
</p>
<p>
  Now this is pretty neat.  I don't know how the touchscreen is related to the
  main display, but a custom Moblin 2 panel and Myzone tailored to fill the
  touchscreen would be really cool.  Now, where can I get an Eee Keyboard
  from...
</p>
<p>
  <small>NP: <cite>Arecibo Message</cite>, Boxcutter</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-06-15T17:00:00Z</dc:date></item><item><title>Emacs Command of the Weekday</title><guid isPermaLink="false">computers/emacs-2009-04-23-16-00</guid><link>http://www.burtonini.com/blog/computers/emacs-2009-04-23-16-00</link><description>When Thomas talks about &quot;us all&quot; learning a new Vim command, he meant &quot;us heretics&quot;. We pure and just people ...</description><content:encoded><![CDATA[<p>
  When <a href="http://blogs.gnome.org/thos/2009/04/23/vim-command-of-the-day/">Thomas</a>
  talks about "us all" learning a new Vim command, he meant "us heretics".  We
  pure and just people on the path of truth are far more interested
  in <a href="https://twitter.com/ecotd">ecotd</a>, Emacs Command of the Day, by
  our very own <a href="http://www.busydoingnothing.co.uk/blog">Neil</a>.
</p>
<p>
  Okay, I admit at times it looks like a parody, but honestly it isn't!
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-04-23T15:00:00Z</dc:date></item><item><title>Sound Juicer &quot;Bonnie and Clyde&quot; 2.26.1</title><guid isPermaLink="false">computers/sound-juicer/sj-2.26.1</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.26.1</link><description>Sound Juicer &quot;Bonnie and Clyde&quot; 2.26.1 has been released. Tarballs are available on burtonini.com , or from the GNOME FTP ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "Bonnie and Clyde" 2.26.1 has been
  released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.26.1.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.26/">GNOME
    FTP servers</a>.  Some crashes have been fixes:
</p>
<ul>
  <li>Read the track artist instead of album artist in Musicbrain3</li>
  <li>Don't crash if the release date is unknown</li>
  <li>Read tracks when falling back to gvfs</li>
</ul>
<p>
  Finally, a call for someone with deep LAME knowledge.  The GStreamer LAME
  element is, well, lame because it sets a number of properties to default
  values that make it very difficult for LAME to work well.  Someone who
  understands how all of the LAME settings operate needs to sit down, vet the
  settings and remove the pointless ones, unset most of the rest, leaving the
  'preset' setting as the only one which has a default value.  At the moment
  there are many contradictory default settings which mean LAME produces rather
  badly encoded files.  Any takers?
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-04-10T10:04:03Z</dc:date></item><item><title>Tasks 0.15</title><guid isPermaLink="false">computers/tasks-2009-03-30-12-00</guid><link>http://www.burtonini.com/blog/computers/tasks-2009-03-30-12-00</link><description>Just a small few fixes, translation updates, and little features in Tasks 0.15. Add --edit-task Use gtk_show_uri if available Lots ...</description><content:encoded><![CDATA[<p>
  Just a small few fixes, translation updates, and little features in Tasks 0.15.
</p>
<ul>
  <li>Add --edit-task</li>
  <li>Use gtk_show_uri if available</li>
  <li>Lots of translation updates</li>
  <li>Add magic patterns "in x days" and "in x weeks"</li>
</ul>
<p>
  As usual, download from
  the <a href="http://pimlico-project.org/tasks.html">Pimlico Project</a>.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-03-30T11:00:00Z</dc:date></item><item><title>Sound Juicer &quot;Don't Go Back To Dalston&quot; 2.26.0</title><guid isPermaLink="false">computers/sound-juicer/sj-2.26.0</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.26.0</link><description>Sound Juicer &quot;Don't Go Back To Dalston&quot; 2.26.0 has been released. Tarballs are available on burtonini.com , or from the ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "Don't Go Back To Dalston" 2.26.0 has been
  released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.26.0.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.26/">GNOME
    FTP servers</a>.  Only translation updates this time, sorry.
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-03-17T15:55:16Z</dc:date></item><item><title>Sound Juicer &quot;I Call Out To You And You Don't Save Me?&quot; 2.25.3</title><guid isPermaLink="false">computers/sound-juicer/sj-2.25.3</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.25.3</link><description>Sound Juicer &quot;I Call Out To You And You Don't Save Me?&quot; 2.25.3 has been released. Tarballs are available on ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "I Call Out To You And You Don't Save Me?" 2.25.3 has been
  released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.25.3.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.25/">GNOME
    FTP servers</a>.  I actually did some coding this time!
</p>
<ul>
  <li>Put the disc number in the file name</li>
  <li>Support multiple genres</li>
  <li>Use libcanberra for event sounds</li>
  <li>Handle custom patterns in the prefs dialog</li>
  <li>Remove Musicbrainz data if the track data is changed</li>
  <li>Fix disc number editing logic</li>
  <li>And lots of bug fixes by many people</li>
</ul>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-02-13T16:48:39Z</dc:date></item><item><title>Sound Juicer &quot;I Should Be Crying, But I Just Can't Let It Show&quot; 2.25.2</title><guid isPermaLink="false">computers/sound-juicer/sj-2.25.2</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.25.2</link><description>Sound Juicer &quot;I Should Be Crying, But I Just Can't Let It Show&quot; 2.25.2 has been released. Tarballs are available ...</description><content:encoded><![CDATA[<p>
  Sound Juicer "I Should Be Crying, But I Just Can't Let It Show" 2.25.2 has been
  released.  Tarballs are
  available <a href="http://www.burtonini.com/computing/sound-juicer-2.25.2.tar.bz2">on
    <tt>burtonini.com</tt></a>, or from
  the <a href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.25/">GNOME
    FTP servers</a>.
</p>
<ul>
  <li>Port to Brasero (Luis Medinas)</li>
  <li>Fix Solaris builds (Brian Cameron)</li>
  <li>Drop libgnome (Iain Holmes, Emilio Pozuelo Monfort)</li>
  <li>Fix conflicting mnemonics in the message area (Bastien Nocera)</li>
  <li>Fix mb3 backend (Bastien Nocera)</li>
</ul>
]]></content:encoded><category domain="http://www.burtonini.com">computers/sound-juicer</category><dc:date>2009-02-03T13:22:19Z</dc:date></item><item><title>3G Woes</title><guid isPermaLink="false">computers/3g-2009-01-15-11-15</guid><link>http://www.burtonini.com/blog/computers/3g-2009-01-15-11-15</link><description>Has anyone out there used a recent Nokia phone (E65 to be precise) as a modem with Network Manager 0.7? ...</description><content:encoded><![CDATA[<p>
  Has anyone out there used a recent Nokia phone (E65 to be precise) as a modem
  with Network Manager 0.7?  I can't seem to get the magic right, and get one of two failures:
</p>
<pre>NetworkManager: &lt;info&gt;  (ttyACM0): powering up... 
NetworkManager: &lt;info&gt;  Registered on Home network 
an 15 10:50:04 blackadder NetworkManager: &lt;info&gt;  Associated with network: +COPS: 0,2,"23415" 
  NetworkManager: &lt;WARN&gt;  dial_done(): Dialing timed out &lt;/WARN&gt;</pre>
<p>
Or:
</p>
<pre>NetworkManager: &lt;info&gt;  Activation (ttyACM0) Stage 1 of 5 (Device Prepare) complete. 
NetworkManager: &lt;info&gt;  (ttyACM0): powering up... 
NetworkManager: &lt;info&gt;  Registered on Home network 
NetworkManager: &lt;info&gt;  Associated with network: +COPS: 0,2,"23415" 
NetworkManager: &lt;info&gt;  Connected, Woo! 
NetworkManager: &lt;info&gt;  Activation (ttyACM0) Stage 2 of 5 (Device Configure) scheduled..
. 
NetworkManager: &lt;info&gt;  Activation (ttyACM0) Stage 2 of 5 (Device Configure) starting...
 
NetworkManager: &lt;info&gt;  (ttyACM0): device state change: 4 -&gt; 5 
NetworkManager: &lt;info&gt;  Starting pppd connection 
NetworkManager: &lt;debug&gt; [1232015456.962700] nm_ppp_manager_start(): Command line: /usr/s
bin/pppd nodetach lock nodefaultroute user web ttyACM0 noipdefault usepeerdns lcp-echo-failure 0 lcp-echo-interval 
0 ipparam /org/freedesktop/NetworkManager/PPP/4 plugin /usr/lib/pppd/2.4.4/nm-pppd-plugin.so 
NetworkManager: &lt;debug&gt; [1232015456.964964] nm_ppp_manager_start(): ppp started with pid
 29590 
NetworkManager: &lt;info&gt;  Activation (ttyACM0) Stage 2 of 5 (Device Configure) complete. 
pppd[29590]: Plugin /usr/lib/pppd/2.4.4/nm-pppd-plugin.so loaded.
pppd[29590]: pppd 2.4.4 started by root, uid 0
NetworkManager: &lt;WARN&gt;  pppd_timed_out(): Looks like pppd didn't initialize our dbus mod
ule</pre>
<p>
  Anyone know what the problem could be?
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-01-15T11:15:00Z</dc:date></item><item><title>GUPnP Repositories</title><guid isPermaLink="false">computers/gupnp-2009-01-13-17-45</guid><link>http://www.burtonini.com/blog/computers/gupnp-2009-01-13-17-45</link><description>Zeeshan created a clone of the GUPnP repository at Gitorious today, so to any contributors to GUPnP: feel free to ...</description><content:encoded><![CDATA[<p>
  Zeeshan created a clone of the GUPnP repository
  at <a href="http://gitorious.org/projects/gupnp">Gitorious</a> today, so to
  any contributors to GUPnP: feel free
  to <a href="http://gitorious.org/projects/gupnp/repos/mainline">clone the
  repository</a> there so that we can all benefit from a distributed version
  control system being used as it should be.
</p>

<p>
  <small>NP: <cite>Rendez-Vous (Mexico)</cite>, Erik Truffaz featuring Murcof</small>
</p>
]]></content:encoded><category domain="http://www.burtonini.com">computers</category><dc:date>2009-01-13T17:45:00Z</dc:date></item></channel></rss>