<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>REverberations - Projects</title>
    <link>http://www.reverb.com.au/tgould/blog/</link>
    <description>Random ramblings by Tim Gould</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.5.1 - http://www.s9y.org/</generator>
    <managingEditor>webmaster@reverb.com.au</managingEditor>
<webMaster>webmaster@reverb.com.au</webMaster>
<pubDate>Sun, 20 Jul 2008 02:26:19 GMT</pubDate>

    <image>
        <url>http://www.reverb.com.au/images/REverb_med.jpg</url>
        <title>RSS: REverberations - Projects - Random ramblings by Tim Gould</title>
        <link>http://www.reverb.com.au/tgould/blog/</link>
        <width>144</width>
        <height>92</height>
    </image>

<item>
    <title>iPhoto Libraries in mythgallery (mythtv)</title>
    <link>http://www.reverb.com.au/tgould/blog/index.php?/archives/410-iPhoto-Libraries-in-mythgallery-mythtv.html</link>
            <category>Hardware</category>
            <category>Linux</category>
            <category>Open-Source</category>
            <category>Photography</category>
            <category>Projects</category>
            <category>PVR</category>
            <category>Software</category>
    
    <comments>http://www.reverb.com.au/tgould/blog/index.php?/archives/410-iPhoto-Libraries-in-mythgallery-mythtv.html#comments</comments>
    <wfw:comment>http://www.reverb.com.au/tgould/blog/wfwcomment.php?cid=410</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.reverb.com.au/tgould/blog/rss.php?version=2.0&amp;type=comments&amp;cid=410</wfw:commentRss>
    

    <author>webmaster@reverb.com.au (reverb)</author>
    <content:encoded>
    Here&#039;s some information about a personal coding itch I scratched recently, on the off chance that it helps someone else out there. Certainly my Google skills didn&#039;t turn up anyone else who had solved the same problem.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problem Description&lt;/b&gt;&lt;br /&gt;
You have a Mac &lt;i&gt;somewhere&lt;/i&gt; where you use Apple&#039;s excellent &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=1483&amp;amp;entry_id=410&quot; title=&quot;http://www.apple.com/ilife/iphoto/&quot;  onmouseover=&quot;window.status=&#039;http://www.apple.com/ilife/iphoto/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;iPhoto&lt;/a&gt; to manage your huge digital photography collection.&lt;br /&gt;
However, you don&#039;t have (and most likely don&#039;t want) a spiffy but locked-down and feature-light &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=1484&amp;amp;entry_id=410&quot; title=&quot;http://www.apple.com/appletv/&quot;  onmouseover=&quot;window.status=&#039;http://www.apple.com/appletv/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Apple TV&lt;/a&gt; to display them on your TV, instead preferring the excellent and far more versatile open-source &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=1485&amp;amp;entry_id=410&quot; title=&quot;http://www.mythtv.org/&quot;  onmouseover=&quot;window.status=&#039;http://www.mythtv.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;mythtv&lt;/a&gt;.&lt;br /&gt;
Mythtv has mythgallery which displays pictures &lt;i&gt;from a normal filesystem&lt;/i&gt; reasonably well, but the poor thing has little to no understanding of the complexities of Apple&#039;s &quot;iPhoto Library&quot; on-disk layout. I&#039;m talking Albums basically, plus an understanding of &quot;Originals&quot; versus &quot;Modified&quot;. I just want it to be how it looks in iPhoto, but on my big LCD screen in front of the couch, controlled with my myth remote. Is that too much to ask??!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Research/Analysis&lt;/b&gt;&lt;br /&gt;
Can&#039;t find anyone else with this issue so figure &quot;how hard can it be?&quot;. Not very, it turned out, at least to get something working, if ugly.&lt;br /&gt;
The perl &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=1486&amp;amp;entry_id=410&quot; title=&quot;http://search.cpan.org/~dmytro/Mac-iPhoto-0.1/iPhoto.pm&quot;  onmouseover=&quot;window.status=&#039;http://search.cpan.org/~dmytro/Mac-iPhoto-0.1/iPhoto.pm&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Mac::iPhoto&lt;/a&gt; looks like a good place to start, but since it hasn&#039;t been touched since 2003 it certainly doesn&#039;t do anything much useful on my current (7.1.3) iPhoto Library.&lt;br /&gt;
It uses &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=1487&amp;amp;entry_id=410&quot; title=&quot;http://search.cpan.org/dist/Mac-PropertyList/&quot;  onmouseover=&quot;window.status=&#039;http://search.cpan.org/dist/Mac-PropertyList/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Mac::PropertyList&lt;/a&gt; to do the parsing of the xml file, which doesn&#039;t seem to work either. After much fiddling it looks like the AlbumData.xml file in the iPhoto Library actually &lt;b&gt;is invalid&lt;/b&gt; - it doesn&#039;t have the proper header. First hack Mac::PropertyList to accept the dodgy header, but later decide to keep that standard and put the hack into my script instead.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Design&lt;/b&gt;&lt;br /&gt;
Decide to make a directory next to the iPhoto Library which is full of symlinks pointing into the actual library. Directories in this tree will correspond to Albums in iPhoto, and the links will be named such that the alphabetical order used by mythgallery corresponds to the order in iPhoto.&lt;br /&gt;
Try and get this working on the linux box and also via Samba but in the end it&#039;s simplest to run the code and create the symlink tree &lt;b&gt;on my mac&lt;/b&gt; and then &lt;b&gt;rsync&lt;/b&gt; both the iPhoto Library and the symlink tree across to the linux box. &lt;br /&gt;
Don&#039;t use samba, it stuffs up the annoying &quot;:&quot; that iPhoto uses in paths, at least for me. rsync handles it fine, it&#039;s not even that Mac-specific one to my knowledge, just whatever is on my Ubuntu box.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Code&lt;/b&gt;&lt;br /&gt;
You&#039;ll need &lt;a href=&quot;/tgould/software/iPhoto/iPhoto.pm&quot;&gt;Mac::iPhoto 0.1-timg&lt;/a&gt;, which is the modification of 0.1 available on cpan to work with iPhoto 7.1.3, and Mac::PropertyList 1.31 from cpan. I guess I should put my code on CPAN, but just wanted to get it all up here for now.&lt;br /&gt;
Once that&#039;s available, you will of course need the actual &lt;a href=&quot;/tgould/software/iPhoto/iPhotoToDirectories&quot;&gt;iPhotoToDirectories&lt;/a&gt; script. It&#039;s all hard-coded - but you wouldn&#039;t have made it this far if you couldn&#039;t edit it to work in your situation :)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Operation&lt;/b&gt;&lt;br /&gt;
You&#039;ll need &lt;i&gt;the same directory structure on both the mac and the linux box&lt;/i&gt; as the symlinks get created on the mac but are de-referenced on the linux box.&lt;br /&gt;
Once it&#039;s all in place, run iPhotoToDirectories on your mac whenever you want. It takes a long time, so I wouldn&#039;t script it. Maybe an overnight cronjob if you keep your Mac on all night. I don&#039;t so I just run it when I remember.&lt;br /&gt;
Then rsync both the iPhoto Library and the symlink tree to the linux box.&lt;br /&gt;
Finally, chmod -R a+rx the linux directories if the uid on your mac is different from your myth user.&lt;br /&gt;
And then, assuming mythgallery can navigate to that symlink directory, it should work and the browsing should be significantly more useful than it was before browsing the raw directory.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Known issues&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Mac::iPhoto&#039;s parsing is amazingly slow, ie. ~30mins for me&lt;br /&gt;
&lt;li&gt;hard-coded paths&lt;br /&gt;
&lt;li&gt;ampersands (&amp;) in album names break things&lt;br /&gt;
&lt;li&gt;empty albums should be not put into output&lt;br /&gt;
&lt;li&gt;sorting could be much improved&lt;br /&gt;
&lt;li&gt;would be nice to understand Events too, hmmm...&lt;br /&gt;
&lt;li&gt;lots more UNknown issues, for sure. Let me know!&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
But hey it &lt;b&gt;works&lt;/b&gt;! And with a full-time life that&#039;s enough for me right now. 
    </content:encoded>

    <pubDate>Sat, 19 Jul 2008 20:19:46 -0500</pubDate>
    <guid isPermaLink="false">http://www.reverb.com.au/tgould/blog/index.php?/archives/410-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/</creativeCommons:license>
</item>
<item>
    <title>ThoughtThing 0.4</title>
    <link>http://www.reverb.com.au/tgould/blog/index.php?/archives/124-ThoughtThing-0.4.html</link>
            <category>Open-Source</category>
            <category>Thoughtthing</category>
    
    <comments>http://www.reverb.com.au/tgould/blog/index.php?/archives/124-ThoughtThing-0.4.html#comments</comments>
    <wfw:comment>http://www.reverb.com.au/tgould/blog/wfwcomment.php?cid=124</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.reverb.com.au/tgould/blog/rss.php?version=2.0&amp;type=comments&amp;cid=124</wfw:commentRss>
    

    <author>webmaster@reverb.com.au (reverb)</author>
    <content:encoded>
    It&#039;s been a long while since the last update, but I&#039;ve just released version 0.4 of my toy software project &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=599&amp;amp;entry_id=124&quot; title=&quot;http://sourceforge.net/projects/thoughtthing/&quot;  onmouseover=&quot;window.status=&#039;http://sourceforge.net/projects/thoughtthing/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ThoughtThing&lt;/a&gt;. You can read more about what it does &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/archives/60-ThoughtThing-0.1-Released.html&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
In the great spirit of Open Source software, someone else did most of the work by changing my code for his purposes, and then sent the changes back to me so I could share them with everyone else. A bit of polish and everyone benefits.&lt;br /&gt;
He actually used the software to track the organisation of a conference with other people - it&#039;s quite nice when something I developed as something to do while looking for work when first back in Sydney has helped someone on the other side of the world organise a conference. 
    </content:encoded>

    <pubDate>Sun, 09 Oct 2005 21:20:56 -0500</pubDate>
    <guid isPermaLink="false">http://www.reverb.com.au/tgould/blog/index.php?/archives/124-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/</creativeCommons:license>
</item>
<item>
    <title>ThoughtThing 0.1 Released</title>
    <link>http://www.reverb.com.au/tgould/blog/index.php?/archives/60-ThoughtThing-0.1-Released.html</link>
            <category>Thoughtthing</category>
    
    <comments>http://www.reverb.com.au/tgould/blog/index.php?/archives/60-ThoughtThing-0.1-Released.html#comments</comments>
    <wfw:comment>http://www.reverb.com.au/tgould/blog/wfwcomment.php?cid=60</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.reverb.com.au/tgould/blog/rss.php?version=2.0&amp;type=comments&amp;cid=60</wfw:commentRss>
    

    <author>webmaster@reverb.com.au (reverb)</author>
    <content:encoded>
    I&#039;ve just made the first release of a software project I&#039;ve been working on - &lt;a href=&quot;http://www.reverb.com.au/tgould/blog/exit.php?url_id=372&amp;amp;entry_id=60&quot; title=&quot;http://sourceforge.net/projects/thoughtthing/&quot;  onmouseover=&quot;window.status=&#039;http://sourceforge.net/projects/thoughtthing/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ThoughtThing&lt;/a&gt;.&lt;br /&gt;The basic concept is that my brain doesn&#039;t work in a hierarchical manner, while the file system on my computers (and pretty much everyone else&#039;s) insists that I organise my &#039;stuff&#039; in that way.&lt;br /&gt;In ThoughtThing, you build &#039;nodes&#039; around yourself, and then define links between them in ways that make sense to &lt;b&gt;you&lt;/b&gt;. Each node can have unlimited parents or children, each of which is another node.&lt;br /&gt;Each node can either be empty (a &#039;container&#039; node), or have a URL tosomething - a website, a contact (as looked up in a vCard file), local pdf,whatever really.&lt;br /&gt;In this way, you are free to build as complex a &#039;web&#039;, &#039;ThoughtThing&#039; or &#039;TT&#039; as you like, and link to whatever you find you need to organise.&lt;br /&gt;If you want to try it out, you need a webserver, MySQL and PHP, and then to go and down load the code and let me know what you think :) 
    </content:encoded>

    <pubDate>Fri, 16 Jan 2004 23:38:00 -0600</pubDate>
    <guid isPermaLink="false">http://www.reverb.com.au/tgould/blog/index.php?/archives/60-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/</creativeCommons:license>
</item>

</channel>
</rss>