<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>cuboidal.org</title>
  <subtitle>serenity now</subtitle>
  <id>tag:cuboidal.org,2009-01-01:/</id>
  <link rel="self" type="application/atom+xml" href="http://cuboidal.org/feeds/atom"/>
  <link rel="alternate" type="text/html" href="http://cuboidal.org/"/>
  <updated>2009-03-30T11:16:44+11:00</updated>
  <author>
    <name>Dean Jackson</name>
    <email>dino@cuboidal.org</email>
    <uri>http://cuboidal.org/</uri>
  </author>

  <entry>
    <title>Developing an iPhoto Export Plugin</title>
    <id>tag:cuboidal.org,2005-06-07:1118101179</id>
    <link href="http://cuboidal.org/iphoto-export-plugin/"/>
    <updated>2005-06-07T09:39:39+10:00</updated>
    <published>2005-06-07T09:39:39+10:00</published>
    <content type="html"><![CDATA[<h1 id='developing_an_iphoto_export_plugin'>Developing an iPhoto Export Plugin</h1>

<p>NOTE: This information is very out of date. It was written with XCode 2 for iPhoto 4, then updated for iPhoto 5. I have not tested this with any later version of iPhoto. Use at your own risk.</p>

<p>This is a tutorial on building iPhoto export plugins. I wanted to have an XML representation of my iPhoto albums in order to build <a href='/photos/'>my photo gallery</a> but couldn&#8217;t find a plugin that did the job. So I wrote one, learning from <a href='http://www.stone.com/The_Cocoa_Files/Writing_PlugIns.html'>Andrew Stone&#8217;s instructions</a> and the source code to the <a href='http://www.speirs.org/flickrexport/'>Flickr Export Plugin</a>. Since Andrew&#8217;s instructions are for iPhoto2, I figured it would be worth documenting the process for more recent versions of iPhoto.</p>

<p>You might want to <a href='ExampleExport.zip'>download the example XCode 2.0 project</a> for reference. It contains all the files you need as well as stubs for the important methods. It should be enough to implement some useful export plugins.</p>

<p>Firstly, I&#8217;m talking about iPhoto 5.0.2. It seems the ExportMgr interface changed slightly from 5.0 to 5.0.2 (at least imageDictionaryAtIndex isn&#8217;t there any more&#8230; or this may just be my overactive imagination).</p>

<h2 id='set_up_the_project'>Set up the project</h2>

<ul>
<li>Create a new Cocoa bundle project (eg &#8220;ExampleExport&#8221;)</li>

<li>Select Project -&gt; Edit Active Target</li>

<li>Select the Build tab</li>

<li>Change the Wrapper Extension to &#8220;iPhotoExporter&#8221;</li>

<li>Select the Properties tab</li>

<li>Set the identifier to something more useful so you can store user defaults. For example, I set mine to &#8220;org.cuboidal.exampleexport&#8221;.</li>
</ul>

<p>You should also set the Principal Class value on the Properties tab to the name of the controller class you&#8217;ll create in the next step. In the sample code I use &#8220;ExampleExport&#8221;. Similarly set the Main NIB file value to the name of the NIB file you&#8217;ll create below (again, ExampleExport in the same).</p>

<p><img src='/iphoto-export-plugin/images/buildtarget.png' alt='Screenshot of the build target preferences' /></p>

<h2 id='creating_the_iphoto_interfaces'>Creating the iPhoto interfaces</h2>

<p>You&#8217;ll need to get the interfaces iPhoto uses when calling your plugin. You could use <a href='http://homepage.mac.com/nygard/Projects/'>class-dump</a> to get the relevant export interfaces, or you could just copy the files from the example source linked above.</p>

<p>For what it&#8217;s worth, here&#8217;s the class-dump invocation I used:</p>
<pre>
class-dump -C Export /Applications/iPhoto.app/Contents/MacOS/iPhoto
</pre>
<p>On my machine this spits out a bunch of warnings. I&#8217;m ashamed to say that I ignore them. In amongst all the warnings are interface definitions that iPhoto expects an export plugin to either know about or implement.</p>

<p>The ones you need are:</p>

<ul>
<li>ExportMgr (save to ExportMgr.h)</li>

<li>ExportPluginProtocol (save to ExportPluginProtocol.h)</li>

<li>ExportPluginBoxProtocol (used in a custom NSBox class, see below)</li>

<li>ExportImageProtocol (save to ExportImageProtocol.h)</li>
</ul>

<p>You can include more interfaces if you like but these are the ones that are necessary. As you can see, the ExportMgr interface is pretty comprehensive in itself, and it also implements the ExportImageProtocol. This interface pretty much does everything you need.</p>

<p>There&#8217;s a few things you might need to change. ExportPluginProtocol defines the &#8220;progress&#8221; method with a return type that you won&#8217;t understand (unless you extract the type using class-dump). Since the example doesn&#8217;t need a progress bar I changed the return type to (void *). In ExportMgr.h you need to add an include statement for &#8220;ExportImageProtocol.h&#8221;. I also deleted the member variables (since I didn&#8217;t need them and I didn&#8217;t want to extract all the classes they use).</p>

<h2 id='create_the_controller_class'>Create the Controller class</h2>

<p>This is the class that actually does the exporting. I call it a controller, but really it&#8217;s just an interface that is called by iPhoto (although it can be a controller for your UI, which we create below).</p>

<p>I created a new Cocoa class called ExampleExport (the same name as we specified in the build target earlier). This class should implement to ExportPluginProtocol that we extracted from iPhoto above.</p>

<p>Here&#8217;s the important bit in ExampleExport.h.</p>

<pre><code>#import &quot;ExportPluginProtocol.h&quot;
#import &quot;ExportMgr.h&quot;

@interface ExampleExport : NSObject &amp;lt;ExportPluginProtocol&amp;gt; {
 
  IBOutlet id firstView;
  IBOutlet id lastView;
  IBOutlet NSBox *settingsBox;
     
  ExportMgr *exportManager;
  ...</code></pre>

<p>You need the three outlets for some methods in ExportPluginProtocol. For example, the settingsBox is the NSBox that iPhoto will add to its &#8220;Export&#8221; panel. We&#8217;ll initialise them later.</p>

<p>At this point you can also add outlets and targets to your class so that Interface Builder can see them, or any helper functions you think you&#8217;ll need. The example code doesn&#8217;t have anything like this.</p>

<h2 id='create_the_custom_nsbox'>Create the custom NSBox</h2>

<p>When exporting, iPhoto displays a tabbed window allowing the user to select one of the export methods. Each tab contains an NSBox that implements the ExportPluginBoxProtocol (which we extracted using class-dump above). It is a very simple interface. Here&#8217;s the header file for our custom NSBox (a new class called ExampleBox).</p>

<pre><code>@protocol ExportPluginBoxProtocol
- (char)performKeyEquivalent:fp16;
@end

@interface ExampleBox : NSBox &amp;lt;ExportPluginBoxProtocol&amp;gt; {

}</code></pre>

<p>And here&#8217;s the implementation.</p>

<pre><code>@implementation ExampleBox

- (char)performKeyEquivalent:fp16 {
  return NO;
}

@end</code></pre>

<h2 id='setting_up_the_nib'>Setting up the NIB</h2>

<p>Start up Interface Builder. Start from an empty Cocoa project. Add a panel, then add a Box to the panel. The title of the Box will be used in the iPhoto export tab, so pick a nice name. I turned off the &#8220;Show Title&#8221; checkbox.</p>

<p><img src='/iphoto-export-plugin/images/nsbox.png' alt='Interface Builder screenshot for NSBox' /></p>

<p>At this point I save the NIB file in the project directory (remember to use the name you specified earlier in the project preferences), Interface Builder asks you if you want to add the NIB to the project, which you do.</p>

<p>Now drag the controller and custom NSBox header files from XCode into Interface builder. This adds the definition of the classes to IB. Next select the &#8220;File&#8217;s Owner&#8221; and set the custom class to the controller. Connect the &#8220;settingsBox&#8221; outlet in the File&#8217;s Owner to the Box you added in the panel (ie control drag from File&#8217;s Owner to the Box). You should also connect the firstView and lastView outlets, although we haven&#8217;t added any controls to the box yet. For the moment, connect them to the Box. Lastly, select the Box and set its custom class to the custom NSBox class you created earlier.</p>

<p>Now it&#8217;s time to add UI controls to the Box. You don&#8217;t need the Export and Cancel buttons, they are provided by iPhoto. The example code doesn&#8217;t have any active controls, but it does have a few static text fields. Note that the size you use for the panel be will used when iPhoto resizes its export window.</p>

<p><img src='/iphoto-export-plugin/images/panel.png' alt='A really really dull example panel' /></p>

<h2 id='the_guts'>The guts</h2>

<p>Now it&#8217;s time to implement the actual exporting. The example code has stubs for all the methods you need. It logs each method so you can see when they are being called.</p>

<p>Most of them are pretty straightforward and the comments in the stub explain what they mean (in the cases where I understand :). In many cases the method is empty or a single line. There are only two methods with any substantial code. I&#8217;ll describe them.</p>

<p>First you have to load the NIB in the initWithExportImageObj method. It&#8217;s also worth grabbing a reference to the ExportMgr reference that is passed in.</p>

<pre><code>- (id)initWithExportImageObj:(id)fp8 {
  if(self = [super init]) {
    exportManager = fp8;
    [NSBundle loadNibNamed: @&quot;ExampleExport&quot; owner:self];
  }
  return self;
} </code></pre>

<p>The other is the real guts of the controller: the startExport method. I haven&#8217;t included the example source inline here as it&#8217;s a little long. The example method uses the ExportManager to iterate over the selected photos, outputting a description for each.</p>

<p>ExportManager is a huge interface. The functions you&#8217;ll most likely call are:</p>

<ul>
<li>albumName</li>

<li>albumComments</li>

<li>imagePathAtIndex</li>

<li>imageCaptionAtIndex</li>

<li>imageDateAtIndex</li>

<li>imageKeywordsAtIndex</li>

<li>imageComments</li>
</ul>

<p>At this point you can compile and install the plugin.</p>

<h2 id='installing_a_plugin'>Installing a plugin</h2>

<p>This bit is quite tedious. You have two choices: the Apple way or the Unix way.</p>

<p>The Apple way involves calling Get Info on the iPhoto application, expanding the &#8220;Plug-ins&#8221; section, and the adding the plugin that you&#8217;ve developed (it&#8217;s usually found in ProjectDir/build/ProjectName.iPhotoExporter) If you rebuild your plugin you have to remove and add it again. It doesn&#8217;t use the version in your build directory.</p>

<p>The Unix way is to copy the built plugin into the iPhoto plugins directory (/Applications/iPhoto.app/Contents/PlugIns/). I find this step to be much quicker when developing as I leave a terminal window open ready to run the command. It might be possible to set up a Copy Files build phase that would install the plugin, but I haven&#8217;t bothered.</p>

<p>Now that the plugin is installed you should be able to start iPhoto and see your plugin in the export tab.</p>

<h2 id='debugging'>Debugging</h2>

<p>To debug the plugin you simply need to set iPhoto as the executable and proceed as normal.</p>

<h2 id='thats_it'>That&#8217;s it</h2>

<p>That&#8217;s all you have to do. The rest is just the soak/wash/rinse/dry cycle of developing the code. I&#8217;m hopeful that this document will become redundant soon, when Apple produce their own documentation on plugin development.</p>

<p>If you find this tutorial useful, please <a href='mailto:dino@cuboidal.org'>let me know</a>. If you use it to build a plugin, then please send me a link so I can check it out.</p>

<p>Enjoy.</p>]]></content>
  </entry>

  <entry>
    <title>Notes for an essay on symbols in The Big Lebowski</title>
    <id>tag:cuboidal.org,2005-03-05:1109941200</id>
    <link href="http://cuboidal.org/lebowski-symbols/"/>
    <updated>2005-03-05T00:00:00+11:00</updated>
    <published>2005-03-05T00:00:00+11:00</published>
    <content type="html"><![CDATA[<h1 id='notes_for_an_essay_on_symbols_in_the_big_lebowski'>Notes for an essay on symbols in The Big Lebowski</h1>

<p>These are the notes of a longer essay I may eventually write on <a href='http://www.imdb.com/title/tt0118715/'>The Big Lebowksi</a>. It was originally part of an <a href='/lebowski-treehorn/'>essay about a particular scene</a> but it just didn&#8217;t fit in there.</p>

<p>It&#8217;s no secret that The Big Lebowski is a film loaded with second meanings. I&#8217;ll admit that the first few times I saw it I was dense enough to think it was just a simple comedy (something at which it is pretty successful). However, given how blatant most of the message is, I&#8217;m slightly ashamed that I didn&#8217;t notice it (I was young and much less aware of global politics). Quite obviously it is a film about America&#8217;s involvement in war (it is set during the first Gulf War) and the America&#8217;s position in the global environment.</p>

<p>I could be completely wrong, but the nation of America is represented by four figures in the film: The (real) Big Lebowski (success, religion, the upper class), Walter (the average citizen, religion, war), the Cowboy (wisdom, the big brother to the world) and Jackie Treehorn (religion, excess). When each one of these characters speaks, they are expressing a common view held in the country.</p>

<p>Note: some of my quotes are probably wrong.</p>

<h2 id='war'>War</h2>

<p>There are many references, some subtle and some unsubtle, to war throughout the movie. Here are some.</p>

<ul>
<li>A &#8220;Chinaman&#8221; invading the Dude&#8217;s home and urinating on his rug, obviously a comparison to Gulf War. The Dude replaces the rug with one that appears to be of Middle Eastern origin. He&#8217;s later seen practicing TaiChi (or some Dude variant of it) on the new rug.</li>

<li>The Big Lebowski lost his legs &#8220;to some Chinaman in Korea&#8221;.</li>

<li>Walter: &#8220;This is not &#8216;Nam, this is bowling. There are rules. Smokey, my friend. You&#8217;re entering a world of pain.&#8221; as he pulls a gun on the conscientious objector.</li>

<li>Dude, about Smokey: &#8220;You know he has emotion problems?&#8221;. Walter: &#8220;Beyond pacifism?&#8221;</li>

<li>Walter: &#8220;Look at the current situation with that camel fucker in Iraq. Pacifism is not something to hide behind.&#8221;</li>

<li>Walter: &#8220;I did not watch my buddies die face down in the mud so this fucking whore&#8230;&#8221; Dude: &#8220;Walter this is not Vietnam!&#8221;. Walter: &#8220;Well, there is a literal connection.&#8221;</li>
</ul>

<h2 id='america_and_its_values'>America and its values</h2>

<p>Beyond war, a large amount of the movie is commenting on American society in general, xenophobia and the value it places on success and achievement.</p>

<ul>
<li>The Big Lebowski: &#8221;I&#8217;ve accomplished more than most men, without the use of my legs. What, what makes a man? Is it being prepared to do the right thing, whatever the cost?&#8221;</li>

<li>The Big Lebowksi has an obsession with bums and their lack of contribution to society: &#8220;Get a job sir. The bums will always lose.&#8221;</li>

<li>Walter: &#8220;There are basic freedoms!&#8221;</li>

<li>Walter: &#8220;Fucking Germans! Fucking Nazis!&#8221; Donnie: &#8220;They were Nazis dude?&#8221; Walter: &#8220;Oh c&#8217;mon Donnie. They were threatening castration. Are we gonna split hairs here?&#8221;</li>

<li>Walter, on the Nihilists (who believe in nothing): &#8220;Say what you will about the tenets of national socialism, at least it&#8217;s an ethos.&#8221;</li>

<li>The Cowboy representing the wisdom of the big brother (USA in this case), as he drinks sarsaparilla. It&#8217;s also interesting that The Dude drinks <em>White</em> Russians and <em>Caucasians</em>.</li>

<li>Dude: &#8220;Is that some kind of eastern thing?&#8221; The Cowboy: &#8220;Far from it.&#8221;</li>

<li>The Dude listens to Credence, and is followed by VW (a German car). Later in the movie (as his journey is coming to a close) he is kicked out of a cab for hating the Eagles (about as American a band as you can get).</li>

<li>Walter, the representation of the US armed forces, throws the unprotected cripple onto the floor, while shouting &#8220;Actung, baby!&#8221;.</li>
</ul>

<h2 id='religion'>Religion</h2>

<p>The third angle on Lebowski&#8217;s comment on America is religion (not surprising considering the links to the Gulf War).</p>

<ul>
<li>Walter finds religion (Judaism).</li>

<li>The best bowler in the league is named Jesus. While he is supernaturally skilled as a bowler, he is also flawed (for &#8220;exposing himself&#8221;). At my favourite moment in the film, Jesus (God?) asks Walter (the USA?) &#8220;Are you ready to be fucked man?&#8221;.</li>

<li>Walter bites the ear of the nihilist while calling him an anti-Semite.</li>
</ul>

<h2 id='other_things'>Other things</h2>

<ul>
<li>The Dude represents the average American and their apathetic nature. Despite caring about things, the Dude never really attempts to influence anything. In some respects, the <a href='/lebowski-treehorn/'>scene that I examined</a> is commenting on what happens when the American public get engaged - the system beats them down.</li>
</ul>

<p>To be finished, maybe.</p>]]></content>
  </entry>

  <entry>
    <title>Lebowski’s Jackie Treehorn scene</title>
    <id>tag:cuboidal.org,2005-02-28:1109509200</id>
    <link href="http://cuboidal.org/lebowski-treehorn/"/>
    <updated>2005-02-28T00:00:00+11:00</updated>
    <published>2005-02-28T00:00:00+11:00</published>
    <content type="html"><![CDATA[<h1 id='lebowskis_jackie_treehorn_scene'>Lebowski’s Jackie Treehorn scene</h1>

<p>Examining the Jackie Treehorn scene from <a href='http://www.imdb.com/title/tt0118715/'>The Big Lebowksi</a>. While it is neither the most amusing or the most remarkable scene in the movie, it stands out for a particular reason.</p>

<p>Before reading this, it may be worth taking a quick look at my <a href='/lebowski-symbols/'>incomplete examination of the symbols represented</a> in the movie. It used to be in here, but it made my point <em>even more</em> obscure and <em>even more</em> badly written.</p>

<p>There isn&#8217;t any need to cover the basic story of The Big Lebowski, suffice to say that it has a twisted plot involving a stoned, dropped-out bowler called &#8220;The Dude&#8221; and his association with a kidnapping. Beyond the many symbols introduced through the storytelling, the actual plot doesn&#8217;t matter too much. Despite the fact that he applies almost no effort, The Dude eventually manages to solve the case. It&#8217;s his complete lack of effort and initiative through the movie that makes this particular scene stand out &#8211; it&#8217;s the first time The Dude actually does anything.</p>

<h2 id='the_scene'>The scene</h2>

<p>The Dude gets a visit from the goons that urinated on his carpet, telling him that Jackie Treehorn, producer of adult films including &#8220;Logjammin&#8217;&#8220;, wants to talk to him.</p>

<p><img src='/lebowski-treehorn/images/1-treehorn.jpg' alt='Jackie Treehorn' /></p>

<p>Up to this point in the movie, the Dude has been extremely ineffective in solving the kidnapping case, or advancing it towards solution (he goofed up the fake-ransom payment, he lost the money, and so on). This is mostly due to the fact that he&#8217;s made no effort whatsoever - after all, he&#8217;s the Dude, and &#8220;the Dude abides&#8221;.</p>

<p>The scene in Jackie Treehorn&#8217;s &#8220;pad&#8221;, stands out as the only moment where the Dude actively tries to figure out what is going on.</p>

<p><img src='/lebowski-treehorn/images/2-thepad.jpg' alt='Exterior shot of Jackies house' /></p>

<p>Jackie Treehorn, wearing a fantastic white suite with a bright red shirt (heaven/success and hell/excess rolled into one person), asks the Dude some questions regarding the kidnapping. In particular, Jackie wants to know what happened to the money. As usual, the Dude appears to be pretty chilled.</p>

<p><img src='/lebowski-treehorn/images/3-dudeoncouch.jpg' alt='The Dude relaxing on the couch' /></p>

<p>The Jackie is interrupted by a phone call. While taking the call, Jackie writes something on a note pad which sparks the Dude&#8217;s attention (the first time the Dude has shown any interest in anything in the film, apart from Bunny).</p>

<p><img src='/lebowski-treehorn/images/4-phonecall.jpg' alt='Jackie noticing the phone is ringing' /></p>

<p><img src='/lebowski-treehorn/images/5-dudeinterested.jpg' alt='The Dude pays attention' /></p>

<p><img src='/lebowski-treehorn/images/6-jackiewriting.jpg' alt='Jackie taking notes' /></p>

<p>Jackie then takes the note and excuses himself for a moment.</p>

<p><img src='/lebowski-treehorn/images/7-jackietaking.jpg' alt='Jackie removing the note from the pad' /></p>

<p><img src='/lebowski-treehorn/images/8-jackiewalking.jpg' alt='Jackie leaving the room' /></p>

<p>At last, this is it - the moment the Dude decides to do something! He sneaks over to the desk and uses the grade-school detective trick of softly tracing the page underneath in order to expose the note.</p>

<p><img src='/lebowski-treehorn/images/9-dudeinvestigating.jpg' alt='The Dude sneaking towards the telephone' /></p>

<p><img src='/lebowski-treehorn/images/10-detectivedude.jpg' alt='The Dude exposing the message' /></p>

<p>The result: a rude doodle.</p>

<p><img src='/lebowski-treehorn/images/11-theresult.jpg' alt='The result is a doodle of a naked man' /></p>

<p><img src='/lebowski-treehorn/images/12-duderesponse.jpg' alt='The Dudes puzzled response' /></p>

<p>Remember the message &#8220;What makes a man?&#8221;, &#8220;Prepared to do whatever it takes, no matter the cost&#8221; and &#8220;the bums will always lose&#8221;? The Dude has finally stood up and done something. His reward for finally deciding to get active: to be drugged, arrested and beaten up.</p>

<p>The Dude abides.</p>]]></content>
  </entry>

  <entry>
    <title>Lost in Translation</title>
    <id>tag:cuboidal.org,2004-08-03:1091455200</id>
    <link href="http://cuboidal.org/lost-in-translation/"/>
    <updated>2004-08-03T00:00:00+10:00</updated>
    <published>2004-08-03T00:00:00+10:00</published>
    <content type="html"><![CDATA[<h1 id='lost_in_translation'>Lost in Translation</h1>

<p>A walk through my favourite scene from a favourite movie, <a href='http://www.imdb.com/title/tt0335266/'>Lost in Translation</a>. Charlotte and Bob in a karaoke bar, exposing their desires, fears and love through song. I wrote this just after the movie first came out, when Scarlett Johansson was relatively unknown. Now it&#8217;s hard to watch the movie without seeing Scarlett instead of Charlotte.</p>

<p>One thing I really enjoy trying to do is trying to find the core scene of a film. A high proportion of intelligent films seem to have them &#8211; the moment that defines the whole movie. What&#8217;s really fun is that different people often find different core scenes, reinforcing my belief that a movie is an individual experience. I&#8217;m not sure if <a href='http://www.imdb.com/name/nm0001068/'>Sophia Coppola</a> would agree with me, but I feel that the entire emotional story of Lost in Translation is played out in the karaoke scene. The fact that it features two brilliant songs probably helps.</p>

<h2 id='this_wicked_world'>This Wicked World</h2>

<p><img src='/lost-in-translation/images/lit-1-pain.jpg' alt='Bill Murray singing with a pained expression' /></p>

<p>We start with Bob Harris (<a href='http://www.imdb.com/name/nm0000195/'>Bill Murray</a>) having a lot of fun singing about pain and suffering. The karaoke machine shows the words.</p>

<p><img src='/lost-in-translation/images/lit-2-pain.jpg' alt='Karaoke machine showing lyrics' /></p>

<p>In a typically Hollywood film, this would be a unusually blunt shot &#8211; showing the words that Bob is singing to highlight the meaning. Except the people in the karaoke video look quite happy here. Is this a real video? I usually don&#8217;t smile that much when wondering if life is filled with only pain, hatred and misery.</p>

<p><img src='/lost-in-translation/images/lit-3-pain.jpg' alt='Charlotte and friend enjoying Bobs singing' /></p>

<p>Charlotte (<a href='http://www.imdb.com/name/nm0424060/'>Scarlett Johansson</a>), now towards the end of her first night out with Bob, is enjoying the show. Until now, she has probably thought of Bob as a friendly companion in her Japanese isolation (although she did sneak a peek while he was getting changed in her bathroom).</p>

<p>Bob is obviously unhappy with his life. He is disconnected from his wife (probably no more than normal despite being in another country). He is disconnected from his surroundings. He is in the final stages of his career, pawning his reputation in Japan instead of a respectable theater career. Like most jokes, the performance here is grounded in truth.</p>

<h2 id='brass_in_pocket'>Brass in Pocket</h2>

<p><img src='/lost-in-translation/images/lit-4-brass.jpg' alt='Charlotte sassing it up' /></p>

<p>Chrissy Hynde gives Charlotte a chance to shine, and shine she does, wiggling her shoulders as a &#8220;sidestep&#8221;.</p>

<p><img src='/lost-in-translation/images/lit-5-brass.jpg' alt='Charlotte telling Bob she is special' /></p>

<p>But the song has meaning. As Charlotte sings &#8221;I&#8217;m special. So special. I gotta have some of your attention. Give it to me&#8221; she looks directly at Bob and stops smiling. Charlotte has been abandoned in Tokyo by her young husband both physically and emotionally. She wants someone to share her experiences with her.</p>

<p><img src='/lost-in-translation/images/lit-6-brass.jpg' alt='Bob listening' /></p>

<p>We have the abandoned young female, wanting attention, and the tired depressed older male, wanting to find someone or something with which to connect.</p>

<h2 id='im_special'>I&#8217;m Special</h2>

<p><img src='/lost-in-translation/images/lit-7-special.jpg' alt='Charlotte singing to Bob' /></p>

<p>Scarlett Johnannson does an amazing job in this scene. She is constantly changing emotions through the scene and while the emotion may only be on her face for a second, it hits strong. I actually had a lot of difficulty finding still shots that conveyed the emotion; In many cases it is the movement in her face that gives the message.</p>

<p><img src='/lost-in-translation/images/lit-8-special.jpg' alt='Bob singing along with Charlotte' /></p>

<p>As Charlotte sings &#8221;I&#8217;m special&#8221; he sings along, smiles and nods, giving her the attention she wants. Charlotte is definitely making Bob notice (making him, making him, making him notice). They are already more than just friends by now, but these are the first scenes that hint at something romantic. Bob is more than willing to give her attention. There &#8220;ain&#8217;t nobody else here, no one like me&#8221;.</p>

<h2 id='more_than_this'>More Than This</h2>

<p><img src='/lost-in-translation/images/lit-9-more.jpg' alt='Charlotte introducing Bob for More Than This' /></p>

<p>But Bob&#8217;s at a different place than Charlotte, and she knows it. She introduces what is supposed to be another humorous performance by Bob, singing Roxy Music&#8217;s &#8220;More than this&#8221;.</p>

<p><img src='/lost-in-translation/images/lit-10-more.jpg' alt='Charlotte enjoying Bobs singing' /></p>

<p><img src='/lost-in-translation/images/lit-11-more.jpg' alt='Charlottes expression becomes more meaningful' /></p>

<p>The previous stills show the change in Charlotte as she realises that Bob&#8217;s lyrics are from the heart. &#8220;More than this. There&#8217;s nothing. More than this. Tell me one thing&#8221;.</p>

<p><img src='/lost-in-translation/images/lit-12-more.jpg' alt='Bob turns to Charlotte' /></p>

<p><img src='/lost-in-translation/images/lit-13-more.jpg' alt='Charlotte smiles back' /></p>

<p>In the first sign of strong emotional connection, Charlotte doesn&#8217;t immediately change her expression as Bob turns to sing to her. But she smiles eventually.</p>

<p><img src='/lost-in-translation/images/lit-14-more.jpg' alt='Bob singing to Charlotte' /></p>

<p><img src='/lost-in-translation/images/lit-15-more.jpg' alt='Charlotte looking lovingly at Bob' /></p>

<p>And here is the moment where they have fallen in love.</p>

<h2 id='afterward'>Afterward</h2>

<p>Cut to outside the karaoke room a few minutes later. I guess many people will consider the next shots to have sexual references, but I don&#8217;t think it matters. What&#8217;s more important is that Charlotte and Bob are now a couple.</p>

<p><img src='/lost-in-translation/images/lit-16-after.jpg' alt='Charlotte and Bob sitting together' /></p>

<p><img src='/lost-in-translation/images/lit-17-after.jpg' alt='Charlotte resting her head on Bobs shoulder' /></p>

<p>The story is now a love story. Bob will give Charlotte her attention, and he has realised that Charlotte gives him &#8220;more than this&#8221;. No more pain, hatred and misery. She&#8217;s special.</p>

<p>It&#8217;s quite usual for Hollywood films to refer to themselves, in that they repeat an earlier moment somehow, usually to drum into our thick skulls the moral of the story. Lost in Translation is of course a lot smarter than this, but the themes exposed in this scene are revisited during the argument in the Japanese restaurant. Bob accuses Charlotte of simply wanting someone to lavish attention on her.</p>

<p>What&#8217;s great about this scene is while I think it is the core of the movie, it doesn&#8217;t expose much of the story. I find myself watching it a lot, whenever I have the chance.</p>

<p>Oh, yeah. I&#8217;m not sure what the pink wig represents.</p>

<p>My other favourite scene from this movie is where Bob and Charlotte stay up late talking on the bed. Charlotte is lying on her side towards Bob, and he reaches out to stroke her foot. It&#8217;s beautiful.</p>]]></content>
  </entry>

  <entry>
    <title>Fat Cats - foafCORP viewer</title>
    <id>tag:cuboidal.org,2002-10-11:1034331083</id>
    <link href="http://cuboidal.org/foafcorp/"/>
    <updated>2002-10-11T20:11:23+10:00</updated>
    <published>2002-10-11T20:11:23+10:00</published>
    <content type="html"><![CDATA[<h1 id='fat_cats__foafcorp_viewer'>Fat Cats - foafCORP viewer</h1>

<p>foafCORP - a semantic web visualization of the interconnectedness of corporate America, or otherwise known as &#8220;Fat Cats&#8221;.</p>

<p><a href='foafcorp.svgz'>Launch the Demo</a> &#8211; 12kb (Adobe SVG viewer required.)</p>

<p>Interesting path: PepsiCo -&gt; Robert E. Allen -&gt; Bristol-Myers Squibb -&gt; James D. Robinson III -&gt; Coca-Cola. (Pepsi to Coke in only two hops!).</p>

<h2 id='about_foaf_and_foafcorp'>About foaf and foafCORP</h2>

<p>foaf is an <a href='http://www.w3.org/RDF/'>RDF</a> vocabulary for describing the relationships between people. It was invented by Dan Brickley and Libby Miller of <a href='http://www.rdfweb.org/'>RDF Web</a>. You can look at <a href='http://www.rdfweb.org/foaf'>their foaf pages</a> for the detailed information, but basically it is a way to describe a person and the other people they know.</p>

<p><a href='http://www.rdfweb.org/foaf/corp/intro.html'>foafCORP</a> is an example of using foaf in an interesting visualisation application. It turns out that there is a lot of cross-pollination amongst the boards of directors of large companies in America. By using foaf, these relationships can be described in a manner that is easy for a computer to understand. All this demo does is provide a User Interface to that data.</p>

<h2 id='instructions'>Instructions</h2>

<p>While designed to be quite straightforward, instructions probably help. You start by adding a company to the display. Simply click on the name of the company. A company is represented by a dollar sign. Each company has a number of circular buttons running down its left side. The green button expands the company to show its board of directors (this can take a few seconds to fetch the data). The button shows the raw RDF that describes the company. The orange button performs a google search on the company. The red button removes that company, and all its connectors, from the display. You can move companies around the display by clicking and dragging.</p>

<p><img src='/foafcorp/instructions.png' alt='Instructions' /></p>

<p>Each member of a company&#8217;s board of directors is represented by a cat. The fatter the cat, the more boards they are on (of course, all resemblance to real people is purely coincidental, although not unexpected). FatCats/Directors work in the same way as Companies (same buttons).</p>

<p>Note that the expansion button is removed after a node has been expanded. You can&#8217;t expand a node twice, nor can you add a node that has been deleted.</p>

<p>In the top left corner are two buttons. The top button, represented by a circle with a plus (+) sign, brings up the window that allows a company to be added to the display. This can be done at any time, and the company will be added in a random position. The bottom button, represented by circle with a lowercase I (i), brings up this page. (I drew the cats and the dollar signs. Yes&#8230; I know I can&#8217;t draw)</p>

<h2 id='about_the_data'>About the data</h2>

<p>This dataset and the orginal idea comes from <a href='http://www.theyrule.net/'>TheyRule</a>, a work by Josh On of the amazing <a href='http://www.futurefarmers.com/'>Future Farmers</a>. They graciously gave us their dataset and we created an RDF interface. Add a bit of SVG code and you get this nice graphical interface. I assume these are the top 100 companies in America or something like that (I don&#8217;t live in America so don&#8217;t recognise all the names).</p>

<p>I said it above and I&#8217;ll say it again. This is just a visualization of XML data (RDF in this case). It happens to be done in SVG. It was <em>really</em> easy to do in SVG because it is already an XML format, so comes with an XML parser and XML DOM. SVG also has a very powerful drawing API, so nearly all of the graphics are created on the fly.</p>

<h2 id='technical_details_whats_happening_here'>Technical Details (what&#8217;s happening here)</h2>

<p>Each time you you expand a node, the SVG viewer sends an HTTP request to this server. The response is an RDF file (example results for <a href='company?id=1'>Exxon-Mobil</a>) which is parsed by the viewer into an XML DOM, which is transcoded into elements in the SVG DOM.</p>

<h2 id='other_stuff'>Other Stuff</h2>

<p><a href='http://jibbering.com/'>Jim Ley</a> has taken this code and made a <a href='http://www.foafnaut.org/'>really cool generic foaf browser</a>. And you can look at the origins of foafCORP at <a href='http://www.theyrule.net/'>theyrule</a>.</p>

<p>The <a href='foafcorp-simple.svg'>old-interface</a> (v0.1) is still around if people want to try it. As is the old interface used for <a href='http://jibbering.com/codepiction/foaf-knows.1.svg?email=danbri@w3.org'>Jim&#8217;s generic browser</a> (this demo shows that Dan Brickley is the centre of the universe). Dan and Libby also have a nifty project to visualise <a href='http://rdfweb.org/2002/01/photo/'>codepictions</a> (two or more people in a photograph) using similar datasets. With it, you can find the path of images that link each of them to Frank Sinatra.</p>

<h2 id='to_do'>To Do</h2>

<p>It&#8217;s unlikely I&#8217;ll spend much time updating this code as I normally get bored of things quite quickly. If I was going to update, here is a list of things I&#8217;d do:</p>

<ul>
<li>Get better artwork. I drew the cats and the money and I&#8217;m not an artist.</li>

<li>Have cats of different fatness as symbols rather than just stretching the one cat</li>

<li>Better UI</li>

<li>Work out some way to add more data (within the RDF). How do I display generic RDF? Who is married? Who are they married to?</li>
</ul>

<p>Of course, you are free to take the SVG and modify it yourself.</p>]]></content>
  </entry>

  <entry>
    <title>A Short Film about Love - Krzysztof Kieslowski</title>
    <id>tag:cuboidal.org,1999-04-02:923050449</id>
    <link href="http://cuboidal.org/a-short-film-about-love/"/>
    <updated>1999-04-02T20:54:09+10:00</updated>
    <published>1999-04-02T20:54:09+10:00</published>
    <content type="html"><![CDATA[<h1 id='a_short_film_about_love__krzysztof_kieslowski'>A Short Film about Love - Krzysztof Kieslowski</h1>

<p>An examination of a scene from <a href='http://www.imdb.com/name/nm0001425/'>Krzysztof Kieslowski&#8217;s</a> feature-length adaption of a short movie in his Dekalog, &#8221;<a href='http://www.imdb.com/title/tt0095467/'>A Short Film about Love</a>&#8221; (Krotki film o milosci).</p>

<p>This is an essay I wrote in 1999 for my college/university Film Studies course. I really hesitated to put it online since it sucks (and was the first essay I had written in many years). In the end I decided that it was worth the humiliation if it made me a better writer. I can&#8217;t remember what grade it received, but it wasn&#8217;t very good!</p>

<p>If I were to do it again, it would have less bullshit but it would still be crap.</p>

<h2 id='introduction'>Introduction</h2>

<p>A Short Film about Love is the feature length version of a film in Kieslowski&#8217;s Decalogue. It tells the story of a young man (Tomek) and his obsession with an older woman (Magda) who lives in the apartment across the street. The final sequence of the film shows Magda going to Tomek&#8217;s apartment once he has returned after a failed suicide attempt. The sequence plays an important part in the narrative of the story as well as having a strong filmic style. In fact, the style provides at least as much to the narrative in the sequence as the actual on-screen action (of which there is little). Despite being the last sequence of the film, the sequence does not provide a conclusion, leaving a powerful and open ending.</p>

<h2 id='position_of_the_sequence_in_the_narrative'>Position of the Sequence in the Narrative</h2>

<p>The film tells the story of a strange and innocent love. Tomek is obsessed with Magda and spends most of his life spying on her or attempting to attract her attention. When she discovers his obsession she becomes involved with Tomek and betrays him, causing him to slit his wrists. When Magda realises what she has done she becomes obsessed with Tomek, spying on his apartment (waiting for his return) and asking strangers for information.</p>

<p>The final five and a half minute sequence shows Magda going to Tomek&#8217;s apartment when he returns from hospital, to see him and apologise for what she has done. She feels guilt for destroying Tomek&#8217;s innocence and wants to be redeemed. Magda has been incapable of standard love since the incident (she turns her old lover away), and shows in the sequence that she dreams of Tomek being her companion.</p>

<h2 id='style'>Style</h2>

<p>The sequence has an extremely strong style, particularly in the narrative function and the lighting of actors.</p>

<h3 id='narrative'>Narrative</h3>

<p>The sequence functions as a climax to the narrative action of the film but does not bring closure. At the beginning of the sequence it is clear that the loving obsession that Tomek had with Magda has now been reversed. Magda feels guilty and wishes to return Tomek&#8217;s innocence. The dialogue and action in the sequence is simple, and can be divided into three main sections.</p>

<p>The first section is Magda&#8217;s realisation that Tomek has returned and she rushes from her apartment to Tomek&#8217;s. This section has a positive feel, possibly trying to give the viewer a feeling that a happy ending is not far away. The second section is Magda and the landlady in Tomek&#8217;s room. This contradicts the positive feeling of the first section by showing that it will be difficult for Magda, and that she must attempt to understand her obsession with Tomek. The final section involves a very stylised slow motion flashback to an earlier part of the film, in Magda&#8217;s imagination, and then a dream sequence of Tomek entering the flashback.</p>

<p>In the dream, Tomek touches Magda on the shoulder, in a very innocent and reassuring manner. She dreams of a more sensuous touch across her face and neck, knowing that Tomek is not completely capable of this action. She then dreams of her touching him in a similar manner. The sequence ends with Magda opening her eyes, possibly realising that she would be incapable of loving Tomek, because she would want more than an innocent love, or possibly realising that she would be content with the innocent love.</p>

<p>The interaction of image and music play an important part in the narrative. The music acts at the beginning and end of the sequence to provide feeling, strengthening the images in the dream sequence. There is almost no speech or other sound adding to the narrative. In fact the scenes without music are almost disturbingly quiet, with the landlady obviously ensuring that Magda does not interrupt the quiet by talking.</p>

<p>The entire sequence develops these simultaneous narratives: the resolution of Magda&#8217;s guilt, the landlady&#8217;s obsession with Tomek, and Magda&#8217;s possible love of Tomek. Tomek is shown as a serene figure &#8211; at peace. He does not move or say anything, and the camera only shows him once, as Magda enters the room, with the full light of the desk lamp on him, giving him an angelic appearance. After that shot, Tomek plays no part.</p>

<h3 id='setting'>Setting</h3>

<p>The setting is a realistic studio setting in contemporary Poland. The drabness of the apartment block and the apartments within it portrays a bleak existence, possibly providing a drive for the characters to find something more enjoyable in their life. Magda chooses art and Tomek chooses to spy on Magda. The costumes are both equally realistic and bland. The telescope prop is emphasised in nearly every shot, appearing to dominate the desk it stands on.</p>

<h3 id='acting'>Acting</h3>

<p>There is nearly no dialogue in the sequence, making the actions and the expressions of the actors the focus. The professional actors that play the characters have simple looks compared to a Hollywood star. A star&#8217;s artificial beauty would have detracted from the story.</p>

<p>Both Tomek and the landlady show very little emotion in the sequence. Magda shows hope, excitement, happiness and disappointment.</p>

<p>The portrayal of the landlady in this sequence shows the obsession she has to Tomek. Earlier in the film she mirrors Tomek&#8217;s stealing letters by lying to Magda about the telephone and keeping Magda away from him. She attracts Tomek&#8217;s attention by inviting him to watch TV and calling out to him at night, and is seen gazing through the telescope at Tomek in Magda&#8217;s apartment.</p>

<h3 id='camera'>Camera</h3>

<p>A very important factor is the point of view at the start of the sequence. The beginning of the film shows the world from Tomek&#8217;s point of view, with every shot of Madga&#8217;s apartment being through the window in Tomek&#8217;s room. Once Tomek runs from Magda&#8217;s apartment the view changes to Magda&#8217;s point of view - she become obsessed with Tomek. At the start of the final sequence, the point of view is still from Magda&#8217;s apartment to Tomek&#8217;s room.</p>

<p>Later in the sequence, when Magda is looking through the telescope, we have a slow motion flash-back to an earlier scene. Magda is actually looking open eyed through the telescope and imagining seeing herself crying over spilt milk. Then she begins to dream, signified by her closing her eyes, that Tomek was in the room with her to comfort her. The flashback in slow motion emphasises the section (remember that it Tomek mentioning this scene of Magda crying that stopped Magda from walking away).</p>

<p>In the sequence there are no tricky camera angles to influence our reactions. In every shot the focus is the characters, not necessarily their placement. The shots are close-up most of the time &#8211; with the characters face (or hands) taking up the frame.</p>

<p>The framing of the telescope in front of Magda convinces the audience that the telescope is the most important thing in this shot. The camera pans from the side to in front, inviting Magda to look through it&#8217;s eyepiece. Importantly we don&#8217;t actually see her view, there probably isn&#8217;t anything to see, but the camera shows us what she is imagining. The subject of the camera moves from the telescope to what the telescope can see.</p>

<h3 id='lighting'>Lighting</h3>

<p>The most important stylistic tool used in this sequence is the lighting. The sequence has very distinct side lighting and front lighting in particular shots.</p>

<p>The lighting provides a contrast between innocence (light) and reality (darkness or shadow). When Magda sees Tomek is home, she smiles and runs to the corridor outside his apartment. She turns the light on, providing light in the corridor (showing that she believes she can bring innocence). She asks to see Tomek and is let in to the apartment. The camera lingers in the light of the corridor for a moment, as if it wants to stay in the innocence. The very next shot is almost complete darkness, with Magda moving into Tomek&#8217;s room. Tomek is shown bathed in light. When Magda moves towards Tomek, the landlady moves from the semi-darkness behind Magda and steps into the light of Tomek to protect his innocence.</p>

<p>The remainder of the sequence also has some very stylised lighting. Magda is shown with a very hard side light producing distinct shadows across her face, she between light and shadow, representing the dark side of her life and well as the newly found light side (her obsession with Tomek). The landlady is shown with front lighting, producing very little shadow, she is representing Tomek&#8217;s innocence.</p>

<h3 id='sound'>Sound</h3>

<p>The whole sequence music has a very important effect on the style of the sequence. The music when Magda moves from her apartment to Tomek&#8217;s is full of hope, and abruptly stops when she enters the apartment. The section of the sequence without music was shown as a flash forward at the beginning of the film, where it had very disturbing music (more high pitched sounds than a particular theme). This time it is shown in almost complete silence.</p>

<p>The next section has music when Magda is dreaming through the telescope. It serves to lift the emotion and provide an end (though not a conclusion) to the film. Again, it is more uplifting music than the disturbing sounds at the beginning of the movie.</p>

<p>The source of the music is off screen and serves when there is no dialogue. It shapes our interpretation of the image, you feel relieved (almost happy) when Magda realises Tomek is home and goes to visit. You have the same feeling when she is dreaming that Tomek is there to comfort her. However it is not so dramatic as to provide a conclusion to the film - the music does not tell us what will happen after the film ends, the same way the images give us hope but not a conclusion.</p>

<h2 id='conclusion'>Conclusion</h2>

<p>The sequence provides a very satisfying end to the film, mostly because it does not have a conclusion. The film does not provide closure to the story of Tomek and Magda. I don&#8217;t think there could have been a completely convincing end to the story, and enjoyed the stylistic finish with the dream sequence. The emotion provided by the style of the film was more satisfying than a conclusion to the story.</p>]]></content>
  </entry>
</feed>

