James Clarke2013-10-03T19:29:47Zhttp://jamesclarke.net/NoneJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/yahoo_authkey_eca69ef7a7518384.txtNoneJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/LiveSearchSiteAuth.xmlNoneJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/ydn67I9NqNoneJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/y_key_a585859c5451778cNoneJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/google3c28fe66e3884b60No Links Please!James Clarke2008-01-14T21:47:19Z2008-01-14T21:47:19Zhttp://jamesclarke.net/projects/no-links-please <p><a href="http://github.com/jc/no-links-please/">No Links Please!</a> is a productivity <a href="http://en.wikipedia.org/wiki/Life_hack">life hack</a> for those of us who need to concentrate and are easy tempted by the vast expanse of the web. It is similar in spirit to <a href="http://www.oblomovka.com/code/webolodeon.php3">Webolodeon</a>.</p> <h3>Why?</h3> <p>One of the things which makes the web great are its hyperlinks. However, they also make the web vast and most importantly, far too easy to roam. No Links Please! breaks the web by removing hyperlinks from all pages apart from Google. Without the knowledge or temptation of links you are free to devote all your time to real work and never roam the web&nbsp;again.</p> <h3>But I cannot work without the&nbsp;web!</h3> <p>The web is still accessible, you just have to search for it and find it in one link from Google. It also has a few other exceptions tailored to a typical PhD student&#8217;s&nbsp;life.</p> <h3>Be&nbsp;Productive!</h3> <p>No Links Please! is only available for <a href="http://www.mozilla.com/firefox/">Firefox</a>. It is implemented as a <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> script. To embrace a new&nbsp;life:</p> <ol><li>Download and install <a herf="http://www.mozilla.com/firefox/">Firefox</a>.</li> <li>You&#8217;ll need to install <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a>&nbsp;next.</li> <li>Visit <a href="http://github.com/jc/no-links-please/blob/master/no-links-please.user.js">the No Links Please! script page</a> and confirm installation and enjoy a life of vastly improved&nbsp;productivity.</li> </ol> Private URL WordPress PluginJames Clarke2007-12-18T00:00:00Z2007-12-18T00:00:00Zhttp://jamesclarke.net/projects/private-url <p><a href="http://wordpress.org/extend/plugins/private-url/" title="Private URL">Private <span class="caps">URL</span></a> is a <a href="http://wordpress.org">WordPress</a> plugin for sharing private posts through a special private url which is accessible without requiring readers to register or enter a password. Private URLs have a structure similar to <code>/private/293/df8eb1583b052b59e2cafc4327214d0/</code>.</p> <h3>Installation</h3> <ol> <li><a href="http://wordpress.org/extend/plugins/private-url/" title="Private URL">Download</a> the plugin from the WordPress Plugin&nbsp;Directory.</li> <li>Upload <code>private-url.php</code> to your <code>wp-content/plugins</code> directory.</li> <li>Activate the plugin through the <em>Plugins</em> menu in&nbsp;WordPress.</li> <li>Configure the plugin in the <em>Private <span class="caps">URL</span></em> menu under <em>Settings</em> in&nbsp;WordPress.</li> <li>Create and save a private post. A new options panel called <em>Private <span class="caps">URL</span></em> will show the private url for the&nbsp;post. </li></ol> <img src="/media/images/private-url-post-admin.jpg" alt="Private URL options panel" title="Private URL options panel" /> <h3>Usage</h3> <p>When you edit a private post a new options panel will become available called <em>Private <span class="caps">URL</span></em>. This provides the private url and a means for changing the <em>salt</em> for the post. The url is a publicly accessible version of the private post and typically of the form: <code>/private/293/df8eb1583b052b59e2cafc4327214d0/</code></p> <h4>What is the <em>salt</em>?</h4> <p>The salt is responsible to generating the private url for each post. It is similar to a passphrase. By default all posts use the salt provided in the settings page for Private <span class="caps">URL</span>. However, you can specify a post specific salt using the Private <span class="caps">URL</span> options panel while editing a&nbsp;post.</p> <p>Modifying the salt for a post will cause it to have a new private url and the post&#8217;s old private url will no longer function. This can be used as a means to <em>expire</em> an old private url for the post. Changing the default salt in the options menu will cause all posts without their own salt to have new private&nbsp;urls.</p> The Design of MSyncJames Clarke2004-07-26T00:00:00Z2004-07-26T00:00:00Zhttp://jamesclarke.net/projects/msyncdesign <p>This document outlines the design of MSync, particularly how the rsync algorithm is used and reliable multicasting is&nbsp;achieved.</p> <h3>Introduction</h3> <p>Traditionally a file transfer takes place over a one-to-one (unicast) basis, where one machine acts as the master with the source file. However, nowadays there is a growing need for one-to-many file transfer. There are many environments that require this kind of transfer, for example, rolling out a software package to many client machine in a class room environment. Using traditional one-to-one file transfer each client must create a separate connection to the master and have the contents transferred. This is costly in both bandwidth and&nbsp;time.</p> <p>The waste of bandwidth and time is even greater when a relatively small update is made to the master file. Here the entire contents of the file is typically transfered to each client despite the file may only have small&nbsp;modifications.</p> <p><a href="http://samba.anu.edu.au/rsync">rsync</a> is a program that allows us to only transfer the differences between the master file and client file. However this is still performed over a unicast connection (typically <a href="http://en.wikipedia.org/wiki/Transmission_Control_Protocol"><span class="caps">TCP</span></a> or <a href="http://en.wikipedia.org/wiki/User_datagram_protocol"><span class="caps">UDP</span></a>).</p> <p><a href="http://www.faqs.org/rfcs/rfc3170.html"><span class="caps">IP</span> multicast</a> is a bandwidth-conserving technology that allows data to be sent over a single data stream and be received by multiple clients. This technology is built into the routers and switches, when an multicast packet arrives the router/switch duplicates the data and sends it on to the appropriate subnet. Thus optimising the bandwidth and time used. One of the drawbacks of multicast is that it does not provide a reliable transfer, thus reliability must be built into the application&nbsp;layer.</p> <p>These two technologies can be combined to provide reliable one-to-many synchronisation tool. This document outlines the design of such a&nbsp;tool.</p> <h3>Problems with the rsync&nbsp;algorithm</h3> <p>The <a href="http://samba.anu.edu.au/rsync/tech_report/node2.html">rsync algorithm</a> is used by rsync to determine the differences between the master&#8217;s and client&#8217;s file and how best to communicate these&nbsp;differences.</p> <p>Briefly the rsync algorithm works as follows: <ol> <li>The client sends a set of checksum pairs (a strong and weak hash) to the server. The checksum pairs are generated from breaking its file into fixed-size non-overlapping&nbsp;blocks.</li> <li>The server then compares the client&#8217;s hashes against the hashes of its file at every fix-sized&nbsp;block.</li> <li>It can then work out the differences between the two files and transmit the missing data and instructions for building the resulting&nbsp;file.</li> </ol> (For a more detailed description read the <a href="http://samba.anu.edu.au/rsync/tech_report/node2.html">rsync algorithm</a>&nbsp;page).</p> <p>Imagine there is a reliable multicast link between the server and two clients <em>A</em> and <em>B</em>. Each client can send its checksum pairs to the server. If the file on <em>A</em> and <em>B</em> are identical then the server can perform the rsync algorithm as normal. However, if the files differ slightly between <em>A</em> and <em>B</em> (and of course the server), the server cannot simply follow the rsync algorithm as <em>A</em> and <em>B</em> require a different set of instructions and blocks. <h3>Modifying the rsync algorithm for&nbsp;multicast</h3> In the rsync algorithm the server decides which data blocks needed to be sent. This meant that it could send data blocks of any length to the client to fill in the &#8220;gaps&#8221; in its file. The server, also, keeps track of the receiver&#8217;s file state. This is problematic over multicast as it does not generalise well for multiple clients with multiple versions of the&nbsp;file.</p> <p>To overcome this problem, in MSync, the roles of server and client(s) can be reversed. The server will send out non-overlapping fixed-sized checksum pairs to the clients. The clients then calculate a rolling checksum for ever fixed-size block in their file to determine which blocks they require from the server. Clients can then request the blocks required and once received use the server checksum pairs to rebuild the&nbsp;file.</p> <p>This can be described more formally, with a server containing source file <em>A</em> and a client containing an old copy <em>B</em>:</p> <ol> <li>The server splits the file <em>A</em> into a series of non-overlapping fixed-sized blocks of size <em>S</em> bytes. The last block may be shorter than <em>S</em>&nbsp;bytes.</li> <li>For each of these blocks the server calculates two checksums: a weak &#8220;rolling&#8221; 32-bit checksum and a strong 128-bit (<span class="caps">MD4</span>, <span class="caps">MD5</span> etc)&nbsp;checksum.</li> <li>The server sends these checksums to the client (or the group of clients via&nbsp;multicast).</li> <li>The client(s) searches through <em>B</em> to find all blocks of length<em> S</em> bytes (at any offset, not just multiples of <em>S</em>) that have the same weak and strong checksum as one of the blocks of <em>A</em>. This can be done quickly in a single pass using a special property of the rolling&nbsp;checksum.</li> <li>The client(s) then requests a sequence of data blocks from the server. These are the data blocks that are present in file <em>A</em> but not in file <em>B</em>.</li> <li>The server sends the client(s) the data blocks that correspond to those&nbsp;requested.</li> <li>The client(s) now constructs a copy of <em>A</em> using the received data blocks and unchanged blocks occurring in file <em>B</em>.</li> </ol> <p>This method means that only one set of checksum pairs is ever sent, this is desirable when using multicast. It also means that the <em>gaps</em> in the client file are all of fixed-size, thus clients will require the same data blocks even if their files are slightly different to one another. This has the advantage that in the worst case all the contents of file <em>A</em> will be transferred. Whereas using the rsync algorithm in its original form but over multicast could lead to more data than the size of file <em>A</em> being&nbsp;transferred.</p> <h3>Reliable&nbsp;multicast</h3> <p>Applications that use multicast tend to be so varied that there is no single general-purpose reliable multicast protocol. The reliable multicast protocol must be designed to fit in with the application.<a href="http://www.faqs.org/rfcs/rfc2887.html"> <span class="caps">RFC</span> 2887</a> outlines a variety of approaches to achieve reliable&nbsp;multicasting.</p> <p>In <span class="caps">TCP</span> the client uses acknowledgement (<span class="caps">ACK</span>) packets to confirm receipt of data. This leads to a verbose transfer which is undesirable when using multicast. Another way to add reliability is to use negative acknowledgement (<span class="caps">NACK</span>) packets to indicate when it is suspected that data is missing. This is less verbose than using ACKs but can generate high retransmission rates when the receiver group&nbsp;grows.</p> <p>Forward Error Correction (<span class="caps">FEC</span>) is a well-established technique for preventing data corruption. The basic principle behind <span class="caps">FEC</span> is sending redundant packets that can be used to reconstruct dropped packets. For example, if we send three packets plus an packet containing the <span class="caps">XOR</span> of them, if we receive two packets plus the <span class="caps">XOR</span> we can generate the missing packet. This cuts down on the amount of retransmission of&nbsp;packets.</p> <p>MSync uses a hybrid <span class="caps">FEC</span>+<span class="caps">NACK</span> system to ensure reliable multicast. The <span class="caps">FEC</span> uses an (<em>n</em>, <em>k</em>) erasure code to ensure enough redundancy can be built into the&nbsp;packets.</p> <p>The (<em>n</em>, <em>k</em>) erasure code takes <em>k</em> packets of source data and encodes them to produce <em>n</em> packets of encoded data; this process occurs at the sender. The data is encoded in such a way that any subset of <em>k</em>-encoded packets allows the reconstruction, by decoding, of the source data. This allows the receiver to recover from up to<em> n</em>-<em>k</em> losses in a group of <em>n</em> encoded packets. The <a href="http://citeseer.nj.nec.com/rizzo97effective.html">Vandermonde erasure code</a> is one implementation of the (<em>n</em>, <em>k</em>) erasure&nbsp;code.</p> <p>NACKs are used to request retransmission of encoded groups that could not be decoded. Also instead of having every client request corrupt/missing groups (through NACKs) a technique called <span class="caps">NACK</span> suppression is used to reduce the chance of flooding the server with&nbsp;NACKs.</p> <p>Clients that employ <span class="caps">NACK</span> suppression monitor NACKs sent by other clients and do not send a <span class="caps">NACK</span> if they have seen one recently for the same piece of data. This is achieved using random timers and a <span class="caps">NACK</span> register. The <span class="caps">NACK</span> register stores all the NACKs received. When the client wishes to send a <span class="caps">NACK</span> a random timer is set. When the timer expires the <span class="caps">NACK</span> is sent, unless the <span class="caps">NACK</span> is present in the&nbsp;register.</p> <p>There is a chance that the <span class="caps">NACK</span> packet will never arrive at the server and thus retransmission will never occur. To protect against this, the server sends out end of transfer (<span class="caps">EOT</span>) packets when it believes the transfer is complete. When a client receives a <span class="caps">EOT</span> packet, it resets its <span class="caps">NACK</span> register and queues up NACKs for every <span class="caps">FEC</span> group it has been unable to decode. It then starts the send process, again using random timers and the now clean register. If the client does not require any more data it can rebuild the file on receipt of an <span class="caps">EOT</span>&nbsp;packet.</p> <p>For redundancy the server should send multiple EOTs before assuming the transfer has been successful. If a <span class="caps">NACK</span> is received the <span class="caps">EOT</span> count should be reset. <h3>Combining&nbsp;everything</h3> A modified rsync algorithm and reliable multicast protocol have been outlined so far. These can be combined to form an application protocol. For example the NACKs can also be used to request the data blocks from the server, this will also benefit from <span class="caps">NACK</span>&nbsp;suppression.</p> <p>The protocol is outlined from both the server and client&nbsp;perspective.</p> <p>Server:</p> <ol> <li>Generate the checksum pairs for the given file. This is done by splitting the file into a series of non-overlapping fixed-size blocks and generating a weak &#8220;rolling&#8221; checksum and a strong 128-bit&nbsp;checksum.</li> <li>The checksum pairs are then grouped into fixed-size groups (for example, groups of 32 checksum pairs). Each group is then encoded using forward error correct and sent to the multicast&nbsp;group.</li> <li>The server now enters a &#8220;Waiting for NACKs&#8221; state. If no NACKs are received for a fixed period of time (eg 5 seconds) then an <span class="caps">EOT</span> is sent. If enough (typically 5-10) <span class="caps">EOT</span> packets are sent with no reply then the server assumes a successful transfers and terminates. However if a <span class="caps">NACK</span> is received, the <span class="caps">EOT</span> count is reset and the <span class="caps">NACK</span> is&nbsp;handled.</li> <li>Once a <span class="caps">NACK</span> for data or retransmission is received the server enters a &#8220;Sending Data&#8221; state. While in this state the server continually sends encoded data while NACKs arrive. The requested data blocks should be placed into groups of fixed-size to form a <span class="caps">FEC</span> group to be encoded. The final group may be smaller than the&nbsp;fixed-size.</li> <li>Once all NACKs have been processed and replied to, the server enters the &#8220;Waiting for NACKs&#8221; state again (Step&nbsp;3).</li> <li>The server terminates once the <span class="caps">EOT</span> count is&nbsp;reached.</li> </ol> <p>Client:</p> <ol> <li>The client starts in an &#8220;Idle&#8221; state. In this state, the client waits for encoded checksum pairs to be received. If the client receives an <span class="caps">EOT</span> packet, it will <span class="caps">NACK</span> for any <span class="caps">FEC</span> groups it cannot&nbsp;decode.</li> <li>When all the checksum pairs are received, the client then enters the &#8220;Searching File&#8221; state, in which it spends time comparing the received checksum pairs to the checksums of its own copy of the file. If an <span class="caps">EOT</span> packet arrives, the client sends a <span class="caps">NACK</span> representing more time. Other NACKs can be received in this state; these NACKs are added to the <span class="caps">NACK</span> Register to help perform <span class="caps">NACK</span>&nbsp;suppression.</li> <li>Once the client finishes comparing the received checksum pairs with its own file, it then sends NACKs for the data blocks it requires, and then enters the &#8220;Waiting for Data&#8221; state. In this state, the client listens for more NACKs, which it registers, and listens for the data it requires. Upon receiving an <span class="caps">EOT</span> packet, it either rebuilds the file to the given length, or sends more NACKs for the data it still requires or requests a encoded data group be&nbsp;resent.</li> <li>Once the file has been rebuilt, the client then enters the &#8220;Idle&#8221; state&nbsp;again.</li> <li>If a set amount of time passes without any data being received, the client terminates. The client can exit with an error if the timeout occurs while it is still expecting data (in the &#8220;Waiting for Data&#8221;&nbsp;state).</li> </ol> <h3>Conclusions</h3> <p>This document has outlined the design of MSync &#8212; a multicast file synchronisation tool that is comparable to rsync. It has shown how the rsync algorithm must be modified to handle multicast and has proposed a hybrid <span class="caps">FEC</span>+<span class="caps">NACK</span> reliable multicast protocol. These have been combined to produce a final high-level application&nbsp;protocol.</p> <p>An implementation based on this work does exist and has been created in Java using <a href="http://jarsync.sourceforge.net/">jarsync</a> and <a href="http://onionnetworks.com/developers/index.php">Onion Networks <span class="caps">FEC</span> Library</a> however it is not available for download as the code is very rough and was implemented for proof of concept rather than&nbsp;deployment.</p> MSync: A Multicast rsyncJames Clarke2004-07-26T00:00:00Z2004-07-26T00:00:00Zhttp://jamesclarke.net/projects/msync <p>MSync is a multicast synchronisation tool that works in a similar way to rsync. This is an overview of the&nbsp;system.</p> <h3>Overview</h3> <p>MSync is a multicast synchronisation tool that works in a similar way to <a href="http://samba.anu.edu.au/rsync">rsync</a>. It was researched, designed and implemented as my dissertation project for my undergraduate degree at <a href="http://www.ex.ac.uk">The University of Exeter</a> in&nbsp;2002/3.</p> <p>The MSync design provides the following functionality: <ul> <li>Reliable one-to-many file distribution over a multicast&nbsp;link.</li> <li>Transmission of only the differences between files, provided that an old version of the file exists on the client&nbsp;system.</li> <li>Allows for situations when clients have different versions of the file. Updates still occur and data transfer remains&nbsp;efficient.</li> </ul></p> <p>The design does not provide: <ul> <li>Congestion control. Thus is only suitable if all machines have an adequately fast connection&nbsp;(<span class="caps">LAN</span>).</li> <li>Security. It is be presumed that the network is&nbsp;secure.</li> <li>Compatibility with rsync. It only uses the rsync algorithm, it does not use rsync&#8217;s&nbsp;protocol.</li> </ul></p> <p>An implementation has been created however it is definitely not in a releasable&nbsp;state.</p> <p>I have provided a <a href="/projects/msyncdesign">design document</a> for MSync that outlines how the rsync algorithm is used and reliable multicasting is achieved. Hopefully someone will find it useful or thought&nbsp;provoking.</p> An NLP Curator (or: How I Learned to Stop Worrying and Love NLP Pipelines)James Clarke2012-04-01T00:00:00Z2012-04-01T00:00:00Zhttp://jamesclarke.net/research/lrec2012 <p>James Clarke, Vivek Srikumar, Mark Sammons, and Dan Roth. 2012. <a href="/media/papers/#">An <span class="caps">NLP</span> Curator (or: How I Learned to Stop Worrying and Love <span class="caps">NLP</span> Pipelines)</a>. In <em>Proceedings of the Eighth International Conference on Language Resources and Evaluation (<span class="caps">LREC</span>&#39;12)</em>, pages x&ndash;y. Istanbul,&nbsp;Turkey.</p> <h3>Abstract</h3> <blockquote> <p>Details&nbsp;soon.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Clarke:Srikumar:Sammons:Roth:2012, author = {James Clarke and Vivek Srikumar and Mark Sammons and Dan Roth}, title = {An NLP Curator (or: How I Learned to Stop Worrying and Love NLP Pipelines)}, booktitle = {Proceedings of the Eighth International Conference on Language Resources and Evaluation (LREC&#39;12)}, pages = {x--y}, year = 2012, address = {Istanbul, Turkey}, URL = {http://jamesclarke.net/media/papers/#}, } </code></pre></blockquote> Confidence Driven Unsupervised Semantic ParsingJames Clarke2011-04-12T00:00:00Z2011-04-12T00:00:00Zhttp://jamesclarke.net/research/acl2011 <p>Dan Goldwasser, Roi Reichart, James Clarke and Dan Roth. 2011. <a href="http://aclweb.org/anthology-new/P/P11/P11-1149.pdf">Confidence Driven Unsupervised Semantic Parsing</a>. In <em>Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies (<span class="caps">ACL</span> 2011)</em>, pages 1486&ndash;1495. Portland,&nbsp;Oregon.</p> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Goldwasser:Chang:Reichart:Clarke:Roth:2011, author = {Dan Goldwasser, Roi Reichart, James Clarke and Dan Roth} title = {Confidence Driven Unsupervised Semantic Parsing} booktitle = {Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies (ACL 2011)} pages = {1486--1495}, year = {2011}, address = {Portland, Oregon}, } </code></pre></blockquote> Driving Semantic Parsing from the World's ResponseJames Clarke2010-04-30T00:00:00Z2010-04-30T00:00:00Zhttp://jamesclarke.net/research/conll2010 <p>James Clarke, Dan Goldwasser, Ming-Wei Chang and Dan Roth. 2010. <a href="/media/papers/clarke-etal-conll10.pdf">Driving Semantic Parsing from the World&#39;s Response</a>. In <em>Proceedings of the Fourteenth Conference on Computational Natural Language Learning (CoNLL-2010)</em>, pages 18&ndash;27. Uppsala,&nbsp;Sweden.</p> <p><a href="/media/papers/clarke-etal-conll10-slides.pdf">Download talk slides</a>. </p> <h3>Abstract</h3> <blockquote> <p>Current approaches to semantic parsing, the task of converting text to a formal meaning representation, rely on annotated training data mapping sentences to logical forms. Providing this supervision is a major bottleneck in scaling semantic parsers. This paper presents a new learning paradigm aimed at alleviating the supervision burden. We develop two novel learning algorithms capable of predicting complex structures which only rely on a binary feedback signal based on the context of an external world. In addition we reformulate the semantic parsing problem to reduce the dependency of the model on syntactic patterns, thus allowing our parser to scale better using less supervision. Our results surprisingly show that without using any annotated meaning representations learning with a weak feedback signal is capable of producing a parser that is competitive with fully supervised&nbsp;parsers.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Clarke:Goldwasser:Chang:Roth:2010, author = {James Clarke, Dan Goldwasser, Ming-Wei Chang and Dan Roth}, title = {Driving Semantic Parsing from the World&#39;s Response}, booktitle = {Proceedings of the Fourteenth Conference on Computational Natural Language Learning (CoNLL-2010)}, pages = {18--27}, year = {2010}, address = {Uppsala, Sweden}, } </code></pre></blockquote> Discourse Constraints for Document CompressionJames Clarke2010-04-29T00:00:00Z2010-04-29T00:00:00Zhttp://jamesclarke.net/research/cl2010 <p>James Clarke and Mirella Lapata. 2010. <a href="/media/papers/clarke-lapata-cl2010.pdf">Discourse Constraints for Document Compression</a>. In <em>Computational Linguistics</em>, vol. 36(3), pages&nbsp;411&ndash;441.</p> <h3>Abstract</h3> <blockquote> <p>Sentence compression holds promise for many applications ranging from summarisation to subtitle generation. The task is typically performed on isolated sentences without taking the surrounding context into account, even though most applications would operate over entire documents. In this paper we present a discourse informed model which is capable of producing document compressions that are coherent and informative. Our model is inspired by theories of local coherence and formulated within the framework of Integer Linear Programming. Experimental results show significant improvements over a state-of-the-art discourse agnostic&nbsp;approach.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@article{Clarke:Lapata:2010, author = {James Clarke and Mirella Lapata}, journal = {Computational Linguistics}, title = {Discourse Constraints for Document Compression} pages = {411--441}, volume = {36(3)}, year = {2010}, } </code></pre></blockquote> Reading to Learn: Constructing Features from Semantic AbstractsJames Clarke2009-06-01T00:00:00Z2009-06-01T00:00:00Zhttp://jamesclarke.net/research/emnlp2009 <p>Jacob Eisenstein, James Clarke, Dan Goldwasser and Dan Roth. 2009. <a href="/media/papers/eisenstien-etal-emnlp09.pdf">Reading to Learn: Constructing Features from Semantic Abstracts</a>. In <em>Proceedings of the Conference on Empirical Methods in Natural Language Processing</em>, pages 958&ndash;967.&nbsp;Singapore.</p> <h3>Abstract</h3> <blockquote> <p>Machine learning offers a range of tools for training systems from data, but these methods are only as good as the underlying representation. This paper proposes to acquire representations for machine learning by reading text written to accommodate human learning. We propose a novel form of semantic analysis called <em>reading to learn</em>, where the goal is to obtain a high-level semantic abstract of multiple documents in a representation that facilitates learning. We obtain this abstract through a generative model that requires no labeled data, instead leveraging repetition across multiple documents. The semantic abstract is converted into a transformed feature space for learning, resulting in improved generalization on a relational learning&nbsp;task.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Eisenstein:Clarke:Goldwasser:Roth:09, author = {Jacob Eisenstein, James Clarke, Dan Goldwasser and Dan Roth}, title = {Reading to Learn: Constructing Features from Semantic Abstracts}, booktitle = {Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP-2009)}, pages = {958--967}, year = {2009}, address = {Singapore}, } </code></pre></blockquote> Revisiting Optimal Decoding for Machine Translation IBM Model 4James Clarke2009-05-01T00:00:00Z2009-05-01T00:00:00Zhttp://jamesclarke.net/research/naacl2009 <p>Sebastian Riedel and James Clarke. 2009. <a href="/media/papers/riedel-clarke-naacl09.pdf">Revisiting Optimal Decoding for Machine Translation <span class="caps">IBM</span> Model 4</a>. In <em>Proceedings of the <span class="caps">NAACL</span> <span class="caps">HLT</span> 2009 Short Papers</em>, pages 5&ndash;8. Boulder,&nbsp;Colorado.</p> <h3>Abstract</h3> <blockquote> <p>This paper revisits optimal decoding for statistical machine translation using <span class="caps">IBM</span> Model 4. We show that exact/optimal inference using Integer Linear Programming is more practical than previously suggested when used in conjunction with the Cutting-Plane Algorithm. In our experiments we see that exact inference can provide a gain of up to one <span class="caps">BLEU</span> point for sentences of length up to 30&nbsp;tokens.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Riedel:Clarke:09, author = {Sebastian Riedel and James Clarke}, title = {Revisiting Optimal Decoding for Machine Translation IBM Model~4}, booktitle = {Proceedings of the NAACL HLT 2009 Short Papers}, pages = {5--8}, year = {2009}, address = {Boulder, Colorado}, URL = {http://jamesclarke.net/media/papers/riedel-clarke-naacl09.pdf}, } </code></pre></blockquote> Global Inference for Sentence Compression: An Integer Linear Programming ApproachJames Clarke2008-06-01T00:00:00Z2008-06-01T00:00:00Zhttp://jamesclarke.net/research/jair2008 <p>James Clarke and Mirella Lapata. 2008. <a href="/media/papers/clarke-lapata-jair2008.pdf">Global Inference for Sentence Compression: An Integer Linear Programming Approach</a>. In <em>Journal of Articifial Intelligence Research</em>, vol. 31, pages&nbsp;399&ndash;429.</p> <h3>Abstract</h3> <blockquote> <p>Sentence compression holds promise for many applications ranging from summarization to subtitle generation. Our work views sentence compression as an optimization problem and uses integer linear programming (<span class="caps">ILP</span>) to infer globally optimal compressions in the presence of linguistically motivated constraints. We show how previous formulations of sentence compression can be recast as ILPs and extend these models with novel global constraints. Experimental results on written and spoken texts demonstrate improvements over state-of-the-art&nbsp;models.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@article{Clarke:Lapata:2008, author = {James Clarke and Mirella Lapata}, journal = {Journal of Artificial Intelligence Research}, title = {Global Inference for Sentence Compression An Integer Linear Programming Approach}, pages = {399--429}, volume = {31}, year = {2008}, URL = {http://jamesclarke.net/media/papers/clarke-lapata-jair2008.pdf}, } </code></pre></blockquote> Global Inference for Sentence Compression: An Integer Linear Programming ApproachJames Clarke2008-02-01T00:00:00Z2008-02-01T00:00:00Zhttp://jamesclarke.net/research/thesis <p>James Clarke. 2008. <a href="/media/papers/jclarke-thesis.pdf">Global Inference for Sentence Compression: An Integer Linear Programming Approach</a>. PhD Thesis, University of&nbsp;Edinburgh.</p> <p><em>Supervisor:</em> <a href="http://homepages.inf.ed.ac.uk/mlap/">Mirella Lapata</a><br/> <em>Committee:</em> <a href="http://l2r.cs.uiuc.edu/">Dan Roth</a> (external), <a href="http://homepages.inf.ed.ac.uk/srenals/">Steve Renals</a> and <a href="http://homepages.inf.ed.ac.uk/jon/">Jon Oberlander</a>.</p> <h3>Abstract</h3> <blockquote> <p>In this thesis we develop models for sentence compression. This text rewriting task has recently attracted a lot of attention due to its relevance for applications (e.g., summarisation) and simple formulation by means of word deletion. Previous models for sentence compression have been inherently local and thus fail to capture the long range dependencies and complex interactions involved in text rewriting. We present a solution by framing the task as an optimisation problem with local and global constraints and recast existing compression models into this framework. Using the constraints we instill syntactic, semantic and discourse knowledge the models otherwise fail to capture. We show that the addition of constraints allow relatively simple local models to reach state-of-the-art performance for sentence&nbsp;compression.</p> <p>The thesis provides a detailed study of sentence compression and its models. The differences between automatic and manually created compression corpora are assessed along with how compression varies across written and spoken text. We also discuss various techniques for automatically and manually evaluating compression output against a gold standard. Models are reviewed based on their assumptions, training requirements, and&nbsp;scalability.</p> <p>We introduce a general method for extending previous approaches to allow for more global models. This is achieved through the optimisation framework of Integer Linear Programming (<span class="caps">ILP</span>). We reformulate three compression models: an unsupervised model, a semi-supervised model and a fully supervised model as <span class="caps">ILP</span> problems and augment them with constraints. These constraints are intuitive for the compression task and are both syntactically and semantically motivated. We demonstrate how they improve compression quality and reduce the requirements on training&nbsp;material.</p> <p>Finally, we delve into document compression where the task is to compress every sentence of a document and use the resulting summary as a replacement for the original document. For document-based compression we investigate discourse information and its application to the compression task. Two discourse theories, Centering and lexical chains, are used to automatically annotate documents. These annotations are then used in our compression framework to impose additional constraints on the resulting document. The goal is to preserve the discourse structure of the original document and most of its content. We show how a discourse informed compression model can outperform a discourse agnostic state-of-the-art model using a question answering evaluation&nbsp;paradigm.</p> </blockquote> Modelling Compression with Discourse ConstraintsJames Clarke2007-06-01T00:00:00Z2007-06-01T00:00:00Zhttp://jamesclarke.net/research/emnlp2007 <p>James Clarke and Mirella Lapata. 2007. <a href="/media/papers/clarke-lapata-emnlp07.pdf">Modelling Compression with Discourse Constraints</a>. In <em>Proceedings of the Conference on Empirical Methods in Natural Language Processing and on Computational Natural Language Learning</em>, pages 1&ndash;11. Prague, Czech&nbsp;Republic.</p> <p><strong>Received the Best Paper Award <span class="caps">EMNLP</span>-CoNLL&nbsp;2007</strong></p> <p><a href="/media/papers/clarke-lapata-emnlp07-slides.pdf">Download talk slides</a>. </p> <h3>Abstract</h3> <blockquote> <p>Sentence compression holds promise for many applications ranging from summarisation to subtitle generation. The task is typically performed on isolated sentences without taking the surrounding context into account, even though most applications would operate over entire documents. In this paper we present a discourse informed model which is capable of producing document compressions that are coherent and informative. Our model is inspired by theories of local coherence and formulated within the framework of Integer Linear Programming. Experimental results show significant improvements over a state-of-the-art discourse agnostic&nbsp;approach.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Clarke:Lapata:07, author = {James Clarke and Mirella Lapata}, title = {Modelling Compression with Discourse Constraints}, booktitle = {Proceedings of the Conference on Empirical Methods in Natural Language Processing and on Computational Natural Language Learning (EMNLP-CoNLL-2007)}, pages = {1--11}, year = {2007}, address = {Prague, Czech Republic}, URL = {http://jamesclarke.net/media/papers/clarke-lapata-emnlp07.pdf}, } </code></pre></blockquote> Incremental Integer Linear Programming for Non-projective Dependency ParsingJames Clarke2006-06-14T00:00:00Z2006-06-14T00:00:00Zhttp://jamesclarke.net/research/emnlp2006 <p>Sebastian Riedel and James Clarke. 2006. <a href="/media/papers/riedel-clarke-emnlp06.pdf">Incremental Integer Linear Programming for Non-projective Dependency Parsing</a>. In <em>Proceedings of the 2006 Conference on Empirical Methods in Natural Language Processing</em>, pages 129&ndash;137. Sydney,&nbsp;Australia.</p> <p><a href="/media/papers/riedel-clarke-emnlp06-slides.pdf">Download talk slides</a>. </p> <h3>Abstract</h3> <blockquote> <p>Integer Linear Programming has recently been used for decoding in a number of probabilistic models in order to enforce global constraints. However, in certain applications, such as non-projective dependency parsing and machine translation, the complete formulation of the decoding problem as an integer linear program renders solving intractable. We present an approach which solves the problem incrementally, thus we avoid creating intractable integer linear programs. This approach is applied to Dutch dependency parsing and we show how the addition of linguistically motivated constraints can yield a significant improvement over&nbsp;state-of-the-art.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Riedel:Clarke:06, author = {Sebastian Riedel and James Clarke}, title = {Incremental Integer Linear Programming for Non-projective Dependency Parsing}, booktitle = {Proceedings of the 2006 Conference on Empirical Methods in Natural Language Processing (EMNLP-2006)}, pages = {129--137}, year = {2006}, address = {Sydney, Australia}, URL = {http://jamesclarke.net/media/papers/riedel-clarke-emnlp06.pdf}, } </code></pre></blockquote> Constraint-Based Sentence Compression: An Integer Programming ApproachJames Clarke2006-06-01T00:05:00Z2006-06-01T00:05:00Zhttp://jamesclarke.net/research/acl2006b <p>James Clarke and Mirella Lapata. 2006. <a href="/media/papers/clarke-lapata-acl06b.pdf">Constraint-Based Sentence Compression: An Integer Programming Approach</a>. In <em>Proceedings of the <span class="caps">COLING</span>/<span class="caps">ACL</span> 2006 Main Conference Poster Session</em>, pages 144&ndash;151. Sydney,&nbsp;Australia.</p> <p><a href="/media/papers/clarke-lapata-acl06-poster.pdf">Download talk slides</a>. </p> <h3>Abstract</h3> <blockquote> <p>The ability to compress sentences while preserving their grammaticality and most of their meaning has recently received much attention. Our work views sentence compression as an optimisation problem. We develop an integer programming formulation and infer globally optimal compressions in the face of linguistically motivated constraints.We show that such a formulation allows for relatively simple and knowledge-lean compression models that do not require parallel corpora or large scale resources. The proposed approach yields results comparable and in some cases superior to&nbsp;state-of-the-art.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Clarke:Lapata:06b, author = {James Clarke and Mirella Lapata}, title = {Constraint-based Sentence Compression: An Integer Programming Approach}, booktitle = {Proceedings of the COLING/ACL 2006 Main Conference Poster Sessions}, pages = {144--151}, year = {2006}, address = {Sydney, Australia}, URL = {http://jamesclarke.net/media/papers/clarke-lapata-acl06b.pdf}, } </code></pre></blockquote> Models for Sentence Compression: A Comparison across Domains, Training Requirements and Evaluation MeasuresJames Clarke2006-06-01T00:00:00Z2006-06-01T00:00:00Zhttp://jamesclarke.net/research/acl2006a <p>James Clarke and Mirella Lapata. 2006. <a href="/media/papers/clarke-lapata-acl06a.pdf">Models for Sentence Compression: A Comparison across Domains, Training Requirements and Evaluation Measures</a>. In <em>Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics</em>, pages 377&ndash;384. Sydney,&nbsp;Australia.</p> <p><a href="/media/papers/clarke-lapata-acl06-slides.pdf">Download talk slides</a>. </p> <h3>Abstract</h3> <blockquote> <p>Sentence compression is the task of producing a summary at the sentence level. This paper focuses on three aspects of this task which have not received detailed treatment in the literature: training requirements, scalability, and automatic evaluation.We provide a novel comparison between a supervised constituent-based and an weakly supervised word-based compression algorithm and examine how these models port to different domains (written vs. spoken text). To achieve this, a human-authored compression corpus has been created and our study highlights potential problems with the automatically gathered compression corpora currently used. Finally, we assess whether automatic evaluation measures can be used to determine compression&nbsp;quality.</p> </blockquote> <h3>Bibtex</h3> <blockquote><pre><code>@inproceedings{Clarke:Lapata:06a, author = {James Clarke and Mirella Lapata}, title = {Models for Sentence Compression: A Comparison across Domains, Training Requirements and Evaluation Measures}, booktitle = {Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics}, pages = {377--384}, year = 2006, address = {Sydney, Australia}, URL = {http://jamesclarke.net/media/papers/clarke-lapata-acl06a.pdf}, } </code></pre></blockquote> Sentence Compression ResourcesJames Clarke2000-01-01T00:00:00Z2000-01-01T00:00:00Zhttp://jamesclarke.net/research/resources <!-- Hyde::Excerpt::Begin --> <!-- Hyde::Excerpt::End --> <p>The two compression corpora primarily used in my thesis and compression related work are&nbsp;available:</p> <ul> <li><a href="/media/data/broadcastnews-compressions.tar.gz">Broadcast News Compression&nbsp;Corpus</a></li> <li><a href="/media/data/written-compressions.tar.gz">Written News Compression&nbsp;Corpus</a></li> </ul> Bookmarklet to enable AirPlay on all web videosJames Clarke2011-02-10T08:00:21Z2011-02-10T08:00:21Zhttp://jamesclarke.net/notes/enable-airplay-on-all-web-video <p>Apple, in iOS 4.3, introduced the ability to stream embedded web videos over AirPlay. <a href="http://macosrumors.com/2011/01/12/first-look-mobile-safari-airplay/">Mac <span class="caps">OS</span> Rumors</a> has a good overview of the feature. The main limitation is that websites must explicitly opt-in to enable AirPlay. Luckily, <a href="http://twitter.com/#!/BenWard/status/32627491910721538">Ben Ward</a> and <a href="http://mths.be/auv">Mathias Bynens</a> posted a really nice bookmarklet to enable AirPlay for all videos on iOS&nbsp;devices.</p> <p>The bookmarklet works by modifying <code>video</code> and <code>embed</code> elements to contain the attributes <code>x-webkit-airplay="allow"</code> and <code>airplay=allow</code>. These attributes inform the iOS movie player to enable AirPlay (<code>MPMoviePlayerController</code>&#8216;s <code>allowsAirPlay</code> attribute is set to <code>true</code>). This should allow any embedded web video to play over AirPlay. However, it turns out modifying the attributes after loading the page does not cause the movie player to enable&nbsp;AirPlay.</p> <p>Experimenting and modifying the bookmarklet I found how to enable AirPlay for all videos. AirPlay is enabled If we load a new page with the modified <code>video</code> and <code>embed</code> elements from the original. My assumption is movie player initializes the video elements when the page loads rather than inspecting the element on tapping (or clicking) thus AirPlay is disabled. The new bookmarklet is below and has been tested on <a href="http://www.html5video.org">HTML5Video</a>, <a href="http://iphone.akamai.com">Akamai iPhone Showcase</a>, and <a href="http://www.veetle.com">Veetle</a>.</p> <p><a href="javascript:[].slice.call(document.querySelectorAll('embed,video'),0).map(function(e){e.setAttribute('x-webkit-airplay','allow');e.setAttribute('airplay','allow')});var w = window.open('about:blank');var d = w.document;d.open();d.write(document.documentElement.innerHTML);d.close();">This link contains the bookmarklet</a>. Copy the link and place it in a new bookmark in Mobile Safari. When you visit a web page with embedded video, load the bookmark and a new window will open with the same content but AirPlay will be&nbsp;enabled.</p> <p>Or in human readable&nbsp;form:</p> <pre><code>javascript:[].slice.call( document.querySelectorAll('embed,video'),0).map( function(e) { e.setAttribute('x-webkit-airplay','allow'); e.setAttribute('airplay','allow') }); var w = window.open('about:blank'); var d = w.document; d.open(); d.write(document.documentElement.innerHTML); d.close(); </code></pre> <p>There is probably a nicer way to do this but I am not that familiar with <span class="caps">DOM</span> in JavaScript. Get in touch if you know of a cleaner&nbsp;method.</p> Information sources worth visitingJames Clarke2010-12-19T13:04:01Z2010-12-19T13:04:01Zhttp://jamesclarke.net/notes/information_sources <p>I rarely read, listen, or watch any daily news sources because they are extremely low on content and value. (Nick Davies in <a href="http://pinboard.in/u:james/b:0a8743a73c44">Flat Earth News</a> provides an excellent analysis of why and how newspapers have become full of recycled <span class="caps">PR</span> instead of&nbsp;journalism).</p> <p>I tend to concentrate on the long form intellectual essays from the literary magazines. The three I focus on are the <a href="http://www.lrb.co.uk/">London Review of Books</a>, <a href="http://www.nybooks.com/">New York Review of Books</a> and <a href="http://www.newyorker.com/">The New Yorker</a>. Others I skim less often are <a href="http://www.harpers.org/">Harper&#8217;s</a> and <a href="http://bostonreview.net/">Boston Review</a>. If I must follow current news (which is infrequent) I will skim the <a href="http://www.guardian.co.uk">Guardian</a>, <a href="http://www.nytimes.com">New York Times</a> and <a href="http://www.ft.com">Financial Times</a> for stories. All of these publications have numerous blogs which I haven&#8217;t found useful (too many&nbsp;posts).</p> <p><a href="http://www.instapaper.com">Instapaper</a> is great for managing your reading list and I usually store articles of note on <a href="http://www.delicious.com/james">delicious</a> (and mirrored on <a href="http://pinboard.in/u:james">pinboard</a>).</p> <h3>Podcasts</h3> <p>Podcasts quickly get out of hand and there doesn&#8217;t seem to be anything good for managing them (iTunes is awful but at least it syncs to my iPhone). But still, I subscribe to the&nbsp;following:</p> <ul> <li><strong><a href="http://www.radiolab.org/series/podcasts/"><span class="caps">WNYC</span>&#8217;s Radiolab</a></strong> &#8220;Science meets culture and information sounds like music. Each episode of Radiolab. is an investigation &#8212; a patchwork of people, sounds, stories and experiences centered around One Big&nbsp;Idea.&#8221;</li> <li><strong><a href="http://www.ted.com/"><span class="caps">TED</span> Talks</a></strong> Ideas, blah, blah. They push out far too many talks so I usually just scan the list for those that interest&nbsp;me.</li> </ul> <p>Radio 4 has a ton of <a href="http://www.bbc.co.uk/podcasts/radio4">podcasts</a> worth a&nbsp;listen.</p> <ul> <li><strong><a href="http://www.bbc.co.uk/podcasts/series/r4choice">Radio 4 Choice</a></strong> &#8220;The Radio 4 Choice podcast brings you our pick of the best of the week&#8217;s documentaries on <span class="caps">BBC</span> Radio&nbsp;4&#8221;.</li> <li><strong><a href="http://www.bbc.co.uk/podcasts/series/fileon4">File on 4</a></strong> &#8220;Investigative&nbsp;series&#8221;.</li> <li><strong><a href="http://www.bbc.co.uk/podcasts/series/analysis">Analysis</a></strong> Running for over 40 years, documentary programming that makes sense of the ideas that change the&nbsp;world&#8221;. </li> <li><strong><a href="http://www.bbc.co.uk/podcasts/series/fooc">From our own correspondent</a></strong> &#8220;Insight, wit and analysis as the <span class="caps">BBC</span>&#8217;s foreign correspondents take a closer look at the stories behind the&nbsp;headlines&#8221;. </li> <li><strong><a href="http://www.bbc.co.uk/podcasts/series/iot">In Our Time</a></strong> &#8220;The history of ideas discussed by Melvyn Bragg and guests including Philosophy, science, literature, religion and the influence these ideas have on us&nbsp;today.&#8221;</li> </ul> Camera Buying Guide (Late 2010)James Clarke2010-12-18T11:57:42Z2010-12-18T11:57:42Zhttp://jamesclarke.net/notes/camera_buying <p>Buying a camera is difficult. There are many models, features and brands. Here are some of my recommendations and information sources that will hopefully making the purchasing decision&nbsp;easier.</p> <p>Mike Johnston over at The Online Photographer has some <a href="http://theonlinephotographer.typepad.com/the_online_photographer/recommended-cameras/">very good advice on buying cameras</a>. I usually recommend checking the cameras online and then heading to BestBuy or somewhere to get a real feel for them. Questions to bear in mind when reviewing a camera in&nbsp;person:</p> <ul> <li>How often will you take the camera with&nbsp;you?</li> <li>Are the controls easy to&nbsp;use?</li> <li>Do you want to use a viewfinder&nbsp;only?</li> <li>Is the shutter delay in capturing the picture&nbsp;acceptable?</li> </ul> <p>The key point to remember is that you will only get good pictures if you have your camera with you at the right time. In my opinion this should be one of the key deciding factors when selecting a&nbsp;camera.</p> <h3>The&nbsp;Cameras</h3> <p>These are the cameras I would recommend. It covers a range of consumer camera <em>types</em> but stops short of digital SRLs (DSLRs). All of these cameras will take great pictures and their differentiating factors are typically size, expandability and&nbsp;speed.</p> <ul> <li> <p><strong>Canon S95 or Panasonic Lumix <span class="caps">LX5</span> (S90 and <span class="caps">LX3</span> are the older models)</strong> This is the smallest and most compact of the set and probably the best in its (compact) class. The image quality is pretty good but it may lack some manual controls. Edward Taylor at <a href="http://theonlinephotographer.typepad.com/the_online_photographer/2010/10/canon-s95-review.html">The Online Photographer</a> and <a href="http://bythom.com/CanonS90review.htm">Thom Hogan</a> have very good&nbsp;reviews.</p> </li> <li> <p><strong>Canon G10 (maybe the G11 or G12 are good too)</strong> This use to be the camera that people with DSLRs and pros bought as their snapshot camera. It has good manual controls and the image quality is&nbsp;great.</p> </li> <li> <p><strong>Panasonic <span class="caps">GF1</span> or Olympus <span class="caps">EP2</span> or Olympus <span class="caps">EP1</span> or Olympus <span class="caps">EPL1</span> (ordered recommendation)</strong> These are very high quality cameras, almost on par with DSLRs. They take interchangeable lenses which allows for growth but they are bigger than the previous two cameras. Again <a href="http://bythom.com/panasonic_GF1_review.htm">Thom Hogan</a> and Mike Johnston at <a href="http://theonlinephotographer.typepad.com/the_online_photographer/2009/11/panasonic-gf1-vs-olympus-ep1-part-ii.html">The Online Photographer</a> have great&nbsp;reviews.</p> </li> </ul> <h3>Other&nbsp;choices</h3> <p>You&#8217;ll notice that all the above cameras come with a &#8220;3x&#8221; optical zoom. This tends to give you the best optics in this price range. Also the above cameras are the ones that &#8220;serious&#8221; photographers tend to&nbsp;buy.</p> <p>If you want something with much more reach look at the <strong>Fujifilm Finepix <span class="caps">S200EXR</span></strong> (14x optical zoom). I don&#8217;t know much about this but it is recommended at <a href="http://www.steves-digicams.com/best-cameras.html">Steve&#8217;s Digicams</a>.</p> <p>On the much cheaper end I would recommend <strong>Canon Powershot <span class="caps">SD940IS</span></strong> (or&nbsp;<span class="caps">SD1300IS</span>).</p> <p>Finally a book that always get recommended is Bryan Peterson&#8217;s <a href="http://www.amazon.com/gp/product/0817439390/">Understanding Exposure</a>. It is a great resource for teaching the basics of exposure and how to use your camera to get the creative images you&nbsp;want.</p> Clover Food Lab CoffeeJames Clarke2010-11-14T15:47:39Z2010-11-14T15:47:39Zhttp://jamesclarke.net/notes/clover-coffee <p><object width="216" height="385"><param name="movie" value="http://www.youtube.com/v/Tc1wswVuEkA?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Tc1wswVuEkA?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="216" height="385"></embed></object></p> <p><a href="http://www.cloverfoodlab.com/?p=3305">Clover Food Lab</a> demonstrating their coffee brewing&nbsp;technique:</p> <blockquote> <p>We have a pretty specific approach to making our coffee. A lot has gone into developing our technique. It is a balance of practical concerns (e.g., speed, consistency), and, but I know that each manager has a slightly different technique. We’re not talking huge differences here, but I was pretty sure there were slight&nbsp;variations.</p> </blockquote> <p>Clover use filter-cone-style brewing and want to achieve a constant flow out of the cone rather than&nbsp;dripping.</p> CapsulJames Clarke2010-11-12T13:57:25Z2010-11-12T13:57:25Zhttp://jamesclarke.net/notes/capsul <div class="photo"> <a href="http://www.flickr.com/photos/jc/4927111847/" title="Keys, Capsul Wallets, iPhones, Headphones by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4095/4927111847_2f93823b57_z.jpg" width="640" height="426" alt="Keys, Capsul Wallets, iPhones, Headphones" /></a> </div> <p>Capsul wallets have changed our&nbsp;lives.</p> Middlesex FellsJames Clarke2010-10-19T13:57:25Z2010-10-19T13:57:25Zhttp://jamesclarke.net/notes/middlesex-fells <div class="photo"> <a href="http://www.flickr.com/photos/jc/5090887121/" title="Untitled by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4110/5090887121_b58546e272_z.jpg" width="640" height="426" alt="" /></a><br/> <a href="http://www.flickr.com/photos/jc/5091481678/" title="Untitled by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4085/5091481678_7afa90e881_z.jpg" width="640" height="426" alt="" /></a> <br/> <a href="http://www.flickr.com/photos/jc/5091479068/" title="Untitled by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4110/5091479068_8a0bc1bfd5_z.jpg" width="640" height="426" alt="" /></a><br/> <a href="http://www.flickr.com/photos/jc/5091475414/" title="Untitled by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4106/5091475414_4cd59c70e8_z.jpg" width="640" height="426" alt="" /></a><br/> <a href="http://www.flickr.com/photos/jc/5090873287/" title="Untitled by James Clarke, on Flickr"><img src="http://farm5.static.flickr.com/4151/5090873287_d36aa50125_z.jpg" width="640" height="426" alt="" /></a> </div> 19 OctoberJames Clarke2010-10-19T13:57:25Z2010-10-19T13:57:25Zhttp://jamesclarke.net/notes/20101015 <div class="photo"><a href="http://www.flickr.com/photos/jc/3406319219/" title="Untitled by James Clarke, on Flickr"><img src="http://farm4.static.flickr.com/3663/3406319219_1ff15fff09_z.jpg" width="640" height="512" alt="" /></a></div> <p>I’m really enjoying the feel of this photograph at the&nbsp;moment!</p> Twitter activismJames Clarke2010-10-10T19:32:32Z2010-10-10T19:32:32Zhttp://jamesclarke.net/notes/twitter-activism <blockquote><p><span class="dquo">&#8220;</span>Mark Pfeifle, a former national-security adviser, later wrote, calling for Twitter to be nominated for the Nobel Peace Prize. Where activists were once defined by their causes, they are now defined by their tools.&#8221; &mdash; <cite>Malcolm Gladwell, <a href="http://www.newyorker.com/reporting/2010/10/04/101004fa_fact_gladwell">Twitter, Facebook, and social activism: The New Yorker</a></cite>.</p></blockquote> Doing the right thingJames Clarke2010-09-29T19:32:32Z2010-09-29T19:32:32Zhttp://jamesclarke.net/notes/empire-in-nigeria <blockquote><p><span class="dquo">&#8220;</span>Mr Baffa [one of the first Nigerian civil servants to replace the British] remembers that “the purpose was to train us to become administrative officers in the field, to take over from the British officers. And everything we learnt was in the spirit of the British officers, to believe at all times that you are doing the right thing. If at any time you thought it was not right, don’t do it.&#8221; &mdash; <cite><a href="http://www.bbc.co.uk/news/world-africa-11401304">Remembering the last days of empire in Nigeria: <span class="caps">BBC</span> News</a></cite>.</p></blockquote> Envisaging peak *James Clarke2010-09-05T20:16:19Z2010-09-05T20:16:19Zhttp://jamesclarke.net/notes/peak <blockquote><p><span class="dquo">&#8220;</span>As with oil, it’s possible to envisage &#8216;peak food&#8217; (the point of maximum production, followed by decline), &#8216;peak phosphorus&#8217;, i.e. the high point in the use of phosphate fertiliser (one estimate puts it at 2035), and, as the <span class="caps">FAO</span> suggests in its diplomatic way, &#8216;peak land&#8217;: the point at which the total area of the world&#8217;s most productive land begins to diminish (soil exhaustion, climate change) and marginal land comes up for reassessment.&#8221; &mdash;<cite>Jeremy Harding, <a href="http://www.lrb.co.uk/v32/n09/jeremy-harding/what-were-about-to-receive">What we are about to receive</a> in <span class="caps">LRB</span></cite>.</p></blockquote> WORDSJames Clarke2010-08-28T08:32:03Z2010-08-28T08:32:03Zhttp://jamesclarke.net/notes/words <iframe src="http://player.vimeo.com/video/13768695?title=0&amp;portrait=0&amp;color=ffffff" width="601" height="338" frameborder="0"></iframe> <p><a href="http://vimeo.com/13768695"><span class="caps">WORDS</span></a> from <a href="http://vimeo.com/everynone">Everynone</a> on <a href="http://vimeo.com">Vimeo</a>.</p> <p>This video accompanies a <a href="http://www.wnyc.org/shows/radiolab/episodes/2010/09/1">fascinating RadioLab episode about language and thought</a>. I was a little surprised that there was no mention of Steven&nbsp;Pinker. </p> <blockquote> <p>It&#8217;s almost impossible to imagine a world without words. But in this hour of Radiolab, we try to do just that. We speak to a woman who taught a 27-year-old man the first words of his life, and we hear a firsthand account of what it feels like to have the language center of your brain wiped out by a&nbsp;stroke.</p> </blockquote> Raleigh DenimJames Clarke2010-08-16T20:34:41Z2010-08-16T20:34:41Zhttp://jamesclarke.net/notes/raleigh-denim <iframe src="http://player.vimeo.com/video/13517107" width="600" height="338" frameborder="0"></iframe> <p><a href="http://vimeo.com/13517107">Raleigh Denim: Handcrafted in North Carolina</a> from <a href="http://vimeo.com/davidhuppert">David Huppert</a> on <a href="http://vimeo.com">Vimeo</a>.</p> <blockquote> <p>Two North Carolina designers and entrepreneurs are on a mission to help revitalize the garment industry in <span class="caps">NC</span>, one pair of <span class="caps">REALLY</span> <span class="caps">COOL</span> jeans at a time. <a href="http://www.vimeo.com/13517107">Raleigh Denim: Handcrafted in North Carolina</a> (by <a href="http://vimeo.com/davidhuppert">David Huppert</a>)</p> </blockquote> Visual AcousticsJames Clarke2010-08-08T20:36:31Z2010-08-08T20:36:31Zhttp://jamesclarke.net/notes/visual-acoustics <p><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/DUQErQtVI04&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DUQErQtVI04&fs=1" type="application/x-shockwave-flash" width="480" height="295" allowscriptaccess="always" allowfullscreen="true"></embed></object></p> Apollo 11 Saturn V launchJames Clarke2010-04-18T21:00:00Z2010-04-18T21:00:00Zhttp://jamesclarke.net/notes/apollo-11-saturn-v <p>via <a href="http://www.npr.org/blogs/pictureshow/2010/04/15/126028824/rocket"><span class="caps">NPR</span>&#8217;s the picture show blog</a>.</p> <p><object width="601" height="338"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4366695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4366695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="601" height="338"></embed></object><p><a href="http://vimeo.com/4366695">Apollo 11 Saturn V Launch (<span class="caps">HD</span>) Camera E-8</a> from <a href="http://vimeo.com/user1634425">Mark Gray</a> on <a href="http://vimeo.com">Vimeo</a>.</p></p> Water IssuesJames Clarke2010-04-05T00:00:00Z2010-04-05T00:00:00Zhttp://jamesclarke.net/notes/water <p><a href="http://www.channel4.com/news/articles/society/environment/melting+glaciers+hit+tajik+lives/548167">Melting glaciers hit Tajik lives - Channel 4 News</a>:</p> <blockquote> <p>In &#8220;Tajikistan, where temperatures have risen and glaciers are melting - causing floods, pollution, disease and landslides.&#8221; All this is also causing political unrest between Tajikistan and&nbsp;Uzbekistan.</p> </blockquote> <p><a href="http://observer.guardian.co.uk/focus/story/0,,2243786,00.html">Is this the end of cheap food? - The Observer</a>:</p> <blockquote> <p><span class="dquo">&#8220;</span>We may look back at the second half of the last century as an era of cheap food. It&#8217;ll be like the Hundred Years&#8217; War, as we were taught it in school: a seminal moment in human history that&#8217;s gone and will not&nbsp;return.&#8221;</p> </blockquote> <p><a href="http://news.bbc.co.uk/2/hi/programmes/from_our_own_correspondent/8560424.stm">Cyprus conflict closes leaders&#8217; eyes to water shortage - From Our Own Correspondent</a>.</p> <p><a href="http://www.wired.com/science/planetearth/magazine/16-05/ff_peakwater?currentPage=all">Peak Water: Aquifers and Rivers Are Running Dry. How Three Regions Are Coping</a>:</p> <blockquote> <p>Reducing water consumption is only half the story. Gary Woodard, at the Sahra Center, talks about the &#8220;water-energy nexus&#8221;: &#8220;the idea that it takes water to produce energy, and energy to take advantage of water. That is, supplies of water and power are&nbsp;interdependent&#8221;.</p> </blockquote> <p><a href="http://www.guardian.co.uk/environment/2010/mar/07/food-water-africa-land-grab">How food and water are driving a 21st-century African land grab | The Observer</a>:</p> <blockquote> <p><span class="dquo">&#8220;</span>Ethiopia is only one of 20 or more African countries where land is being bought or leased for intensive agriculture on an immense scale in what may be the greatest change of ownership since the colonial era. &#8230; It is not known if the acquisitions will improve or worsen food security in Africa, or if they will stimulate separatist conflicts, but a major World Bank report due to be published this month is expected to warn of both the potential benefits and the immense dangers they represent to people and&nbsp;nature.&#8221;</p> </blockquote> <p>Collected at <a href="http://pinboard.in/u:james/t:water/">t:water</a>.</p> Sad Fate of a CamelJames Clarke2010-03-26T16:27:00Z2010-03-26T16:27:00Zhttp://jamesclarke.net/notes/sad-fate-of-a-camel <blockquote> <p>In Syria, once, at the head-waters of the Jordan, a camel took charge of my overcoat while the tents were being pitched, and examined it with a critical eye, all over, with as much interest as if he had an idea of getting one made like it; and then, after he was done figuring on it as an article of apparel, he began to contemplate it as an article of diet. He put his foot on it, and lifted one of the sleeves out with his teeth, and chewed and chewed at it, gradually taking it in, and all the while opening and closing his eyes in a kind of religious ecstasy, as if he had never tasted anything as good as an overcoat before, in his life. Then he smacked his lips once or twice, and reached after the other sleeve. Next he tried the velvet collar, and smiled a smile of such contentment that it was plain to see that he regarded that as the daintiest thing about an overcoat. The tails went next, along with some percussion caps and cough candy, and some fig-paste from&nbsp;Constantinople.</p> <p>And then my newspaper correspondence dropped out, and he took a chance in that—manuscript letters written for the home papers. But he was treading on dangerous ground, now. He began to come across solid wisdom in those documents that was rather weighty on his stomach; and occasionally he would take a joke that would shake him up till it loosened his teeth; it was getting to be perilous times with him, but he held his grip with good courage and hopefully, till at last he began to stumble on statements that not even a camel could swallow with impunity. He began to gag and gasp, and his eyes to stand out, and his forelegs to spread, and in about a quarter of a minute he fell over as stiff as a carpenter&#8217;s work-bench, and died a death of indescribable agony. I went and pulled the manuscript out of his mouth, and found that the sensitive creature had choked to death on one of the mildest and gentlest statements of fact that I ever laid before a trusting public. &mdash; <cite><a href="http://www.gutenberg.org/etext/3177">Roughing It by Mark Twain</a></cite></p> </blockquote> Gary Kasparov on Chess and AIJames Clarke2010-01-27T09:22:00Z2010-01-27T09:22:00Zhttp://jamesclarke.net/notes/kasparov-on-chess-and-ai <blockquote><p>With the supremacy of the chess machines now apparent and the contest of &#8220;Man vs. Machine&#8221; a thing of the past, perhaps it is time to return to the goals that made computer chess so attractive to many of the finest minds of the twentieth century. Playing better chess was a problem they wanted to solve, yes, and it has been solved. But there were other goals as well: to develop a program that played chess by thinking like a human, perhaps even by learning the game as a human does. Surely this would be a far more fruitful avenue of investigation than creating, as we are doing, ever-faster algorithms to run on ever-faster&nbsp;hardware.</p> <p>This is our last chess metaphor, then—a metaphor for how we have discarded innovation and creativity in exchange for a steady supply of marketable products. The dreams of creating an artificial intelligence that would engage in an ancient game symbolic of human thought have been abandoned. Instead, every year we have new chess programs, and new versions of old ones, that are all based on the same basic programming concepts for picking a move by searching through millions of possibilities that were developed in the 1960s and&nbsp;1970s.</p> <p>Like so much else in our technology-rich and innovation-poor modern world, chess computing has fallen prey to incrementalism and the demands of the market. Brute-force programs play the best chess, so why bother with anything else? Why waste time and money experimenting with new and innovative ideas when we already know what works? Such thinking should horrify anyone worthy of the name of scientist, but it seems, tragically, to be the norm. Our best minds have gone into financial engineering instead of real engineering, with catastrophic results for both sectors. &mdash; <cite><a href="http://www.nybooks.com/articles/23592">The Chess Master and the Computer By Garry Kasparov</a>.</cite></p></blockquote> Everything is possible againJames Clarke2009-12-31T17:11:00Z2009-12-31T17:11:00Zhttp://jamesclarke.net/notes/possible <blockquote> <p>A few days after we came home from the hospital, I sent a letter to a friend, including a photo of my son and some first impressions of fatherhood. He responded, simply, &#8220;Everything is possible again.&#8221; It was the perfect thing to write, because that was exactly how it felt. The world itself had another chance. &mdash; <cite><a href="http://www.nytimes.com/2009/10/11/magazine/11foer-t.html?pagewanted=all">Jonathan Safran Foer in Against Meat</a>. From the Food Issue of The New York Times Magazine.</cite></p> </blockquote> Surly Steamroller completeJames Clarke2009-12-22T08:40:20Z2009-12-22T08:40:20Zhttp://jamesclarke.net/notes/surly-steamroller <div class="photo"><a href="http://surlybikes.com/bikes/steamroller_complete/">><img src="http://26.media.tumblr.com/tumblr_la7jbkNhXs1qz589mo1_500.jpg" alt="Surly Steamroller Complete" ></a></div> A circular rather than a linear progressJames Clarke2009-12-22T08:40:20Z2009-12-22T08:40:20Zhttp://jamesclarke.net/notes/circular-rather-than-linear <blockquote><p><span class="dquo">&#8220;</span>In the pre-internet age&hellip;,&#8221; he observes, &#8220;there came a moment when you turned off the <span class="caps">TV</span> or the stereo, or put down the book or magazine&hellip; You stopped doing culture and you withdrew &mdash; or advanced &mdash; into your solitude. You used the phone. You went for a walk. You went to the corner bar for a drink. You made love&hellip; You wrote a&nbsp;letter.</p> <p><span class="dquo">&#8220;</span>Now, more often than not, you go to the computer and online. There you log on to a social networking site, make an entry on your blog, buy something, try to meet a romantic partner&hellip; You might send an email, but no one ever just sends an email. Every online activity leads to another online&nbsp;activity&hellip;&#8221;</p> <p>Siegel exaggerates for effect maybe, but any one of us who spends a large part of his or her day – for work and leisure – in front of a screen will recognise at least the contours of that behaviour. Your computer invites habitual usage, from email to bookmarked sites, to Twitter followers, to YouTube favourites, and it is a circular rather than a linear progress; if you plotted your history folder I&#8217;m guessing you would discover it was not about narrative, but repetition. This circumnavigation of our familiar haunts may suggest exploration, or at least the possibility of it, but there is a compulsive sameness to the quality of the experience. Some of this has to do with the computer&#8217;s illusion of constant novelty (constantly disappointed), some of it has to do with its inbuilt solipsism, its anti-social quality, which can give rise to that mean-spirited tone of generally anonymous debate and comment that the New Yorker writer David Denby has recently dismissed as &#8220;snark&#8221;. &mdash; <cite>Tim Adams, <a href="http://www.guardian.co.uk/books/2009/dec/06/books-ebooks-technology-computers-society">Will e-books spell the end of great writing? - The Observer</a>.</cite></p></blockquote> Clippings from Autobiography by John Stuart MillJames Clarke2009-12-10T21:15:00Z2009-12-10T21:15:00Zhttp://jamesclarke.net/notes/john-stuart-mill-autobiography <p>Here are some passages I&#8217;ve found interesting thus far into <a href="http://www.gutenberg.org/etext/10378">John Stuart Mill&#8217;s Autobiography</a> (Chapters&nbsp;I-<span class="caps">III</span>).</p> <p>Disclaimer for the&nbsp;autobiography.</p> <blockquote> <p>The reader whom these things do not interest, has only himself to blame if he reads farther, and I do not desire any other indulgence from him than that of bearing in mind that for him these pages were not&nbsp;written.</p> </blockquote> <p>His education is very interesting firstly focusing on the &#8220;aids and appliances of thought&#8221; then moving onto having his own&nbsp;thoughts:</p> <blockquote> <p>From about the age of twelve, I entered into another and more advanced stage in my course of instruction; in which the main object was no longer the aids and appliances of thought, but the thoughts&nbsp;themselves.</p> </blockquote> <p>Education. His father was his teacher. His father wouldn&#8217;t give explanations until after Mill had full thought everything through and felt the &#8220;full force of the difficulties&#8221;. Mill humbly outlines how debates with his father progressed through the&nbsp;years:</p> <blockquote> <p>I thought for myself almost from the first, and occasionally thought differently from him, though for a long time only on minor points, and making his opinion the ultimate standard. At a later period I even occasionally convinced him, and altered his opinion on some points of detail: which I state to his honour, not my own. It at once exemplifies his perfect candour, and the real worth of his method of&nbsp;teaching.</p> </blockquote> <p>Religion:</p> <blockquote> <p>On religion in particular the time appears to me to have come when it is the duty of all who, being qualified in point of knowledge, have on mature consideration satisfied themselves that the current opinions are not only false but hurtful, to make their dissent known; at least, if they are among those whose station or reputation gives their opinion a chance of being attended to. Such an avowal would put an end, at once and for ever, to the vulgar prejudice, that what is called, very improperly, unbelief, is connected with any bad qualities either of mind or&nbsp;heart.</p> </blockquote> <p>Education. The new style of teaching attempts &#8220;to render as much as possible of what the young are required to learn, easy and interesting to&nbsp;them.&#8221;</p> <blockquote> <p>I rejoice in the decline of the old brutal and tyrannical system of teaching, which, however, did succeed in enforcing habits of application; but the new, as it seems to me, is training up a race of men who will be incapable of doing anything which is disagreeable to&nbsp;them.</p> </blockquote> <p>French vs English national&nbsp;character:</p> <blockquote> <p>[T]he contrast between the frank sociability and amiability of French personal intercourse, and the English mode of existence, in which everybody acts as if everybody else (with few, or no exceptions) was either an enemy or a&nbsp;bore.</p> </blockquote> <p>Marginal&nbsp;contents:</p> <blockquote> <p>[H]e made me perform an exercise on the manuscript, which Mr. Bentham practised on all his own writings, making what he called &#8220;marginal contents&#8221;; a short abstract of every paragraph, to enable the writer more easily to judge of, and improve, the order of the ideas, and the general character of the&nbsp;exposition.</p> </blockquote> 29 NovemberJames Clarke2009-11-29T20:00:00Z2009-11-29T20:00:00Zhttp://jamesclarke.net/notes/20091129 <blockquote><p>Environmentalism has replaced socialism as the leading secular religion. And the ethics of environmentalism are fundamentally sound. Scientists and economists can agree with Buddhist monks and Christian activists that ruthless destruction of natural habitats is evil and careful preservation of birds and butterflies is good. The worldwide community of environmentalists—most of whom are not scientists—holds the moral high ground, and is guiding human societies toward a hopeful future. Environmentalism, as a religion of hope and respect for nature, is here to stay. This is a religion that we can all share, whether or not we believe that global warming is harmful. &mdash; <cite><a href="http://www.nybooks.com/articles/21494">The Question of Global Warming - The New York Review of Books</a>.</cite></p></blockquote> <p class="commentsep">&hellip;</p> <p><object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7500309&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7500309&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object><p>This promises to capture the raw energy of Mogwai’s live performances. I can’t&nbsp;wait!</p></p> DollywoodJames Clarke2009-04-22T22:30:48Z2009-04-22T22:30:48Zhttp://jamesclarke.net/notes/dollywood <div class="photo"> <a href="http://www.flickr.com/photos/jc/3458889769/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3523/3458889769_6490873f10.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="314" /></a><br /> <a href="http://www.flickr.com/photos/jc/3459706046/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3488/3459706046_4b002c3d4b.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="319" /></a> </div> Deals GapJames Clarke2009-04-16T21:15:25Z2009-04-16T21:15:25Zhttp://jamesclarke.net/notes/deals-gap <div class="photo"> <a href="http://www.flickr.com/photos/jc/3444303801/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3362/3444303801_783d6b3034.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="281" /></a><br /> <a href="http://www.flickr.com/photos/jc/3448086990/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3650/3448086990_612728cf20.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="323" /></a> </div> <p><a href="http://en.wikipedia.org/wiki/Deals_Gap,_North_Carolina">Deals Gap</a> on <span class="caps">US</span> Route&nbsp;129.</p> Great Smoky Mountains #1James Clarke2009-04-05T17:56:20Z2009-04-05T17:56:20Zhttp://jamesclarke.net/notes/great-smoky-mountains <div class="photo"> <a href="http://www.flickr.com/photos/jc/3410623654/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3383/3410623654_45e6c1d7a4.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br/> <a href="http://www.flickr.com/photos/jc/3409814621/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3583/3409814621_220a477fd6.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="400" /></a><br/> <a href="http://www.flickr.com/photos/jc/3409798237/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3635/3409798237_7d253fa4dd.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="400" /></a><br/> <a href="http://www.flickr.com/photos/jc/3409815915/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3364/3409815915_73db2bc4e9.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a> </div> 24 MarchJames Clarke2009-03-24T14:10:57Z2009-03-24T14:10:57Zhttp://jamesclarke.net/notes/20090324 <div class="photo"> <a href="http://www.flickr.com/photos/jc/3382401735/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3585/3382401735_f2c1c4facc.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br/> <a href="http://www.flickr.com/photos/jc/3383219100/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3419/3383219100_d2d2c125cc.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br/> <a href="http://www.flickr.com/photos/jc/3382402965/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3468/3382402965_1ce892b22a.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a> </div> Man on Wire (2008)James Clarke2009-02-18T10:04:36Z2009-02-18T10:04:36Zhttp://jamesclarke.net/notes/man-on-wire <p>Philippe Petit&#8217;s energy alone is worth&nbsp;it.</p> <blockquote> <p><span class="caps">PP</span>: I did something magnificent and mysterious, and I got a practical &#8220;why.&#8221; And the beauty of it is that I didn&#8217;t have any&nbsp;&#8220;why.&#8221;</p> </blockquote> MorningJames Clarke2009-01-14T22:12:02Z2009-01-14T22:12:02Zhttp://jamesclarke.net/notes/morning <div class="photo"> <a href="http://www.flickr.com/photos/jc/3227018516/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3385/3227018516_52a64aa140.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br /> <a href="http://www.flickr.com/photos/jc/3087645374/" title="Morning (by James Clarke)"><img src="http://farm4.static.flickr.com/3173/3087645374_a4966f7d10.jpg" title="Morning (by James Clarke)" alt="Morning (by James Clarke)" width="500" height="333" /></a> </div> 11 JanuaryJames Clarke2009-01-11T21:57:25Z2009-01-11T21:57:25Zhttp://jamesclarke.net/notes/20090111 <div class="photo"><a href="http://www.flickr.com/photos/jc/3226164239/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3497/3226164239_798836bfe5.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a></div> <p>Temperatures are dropping this week. Today was only -5C, by midweek it is meant to be -15C or&nbsp;less.</p> Madrid plane crash quoteJames Clarke2008-08-21T10:50:23Z2008-08-21T10:50:23Zhttp://jamesclarke.net/notes/madrid-plane-crash-quote <div style="text-align: center;"><img src="/media/images/capt-john-guntrip.jpg" alt="Krishnan Guru-Murthy interviews Captain John Guntrip" title="Captain John Guntrip on Channel 4 News" /></div> <p>Krishnan Guru-Murthy interviews Captain John Guntrip (what a name!), former captain and air accident investigator, about the <a href="http://www.guardian.co.uk/world/madrid">Madrid plane crash</a>.</p> <blockquote><span class="caps">KGM</span>: &#8220;What about the aircraft itself? McDonnell Douglas 82.&#8221;<br/> <span class="caps">CJG</span>: &#8220;Well it&#8217;s a total write off as far as I can understand.&#8221;<br/> <span class="caps">KGM</span>: &#8220;Well, I mean the type of aircraft, what is its safety record?&#8221;</blockquote> Feeding people is easyJames Clarke2008-08-10T23:33:09Z2008-08-10T23:33:09Zhttp://jamesclarke.net/notes/feeding-people-is-easy <div class="photo"><a href="http://www.flickr.com/photos/jc/2756582979/" title="Feeding People is Easy (by James Clarke)"><img src="http://farm4.static.flickr.com/3030/2756582979_5bfc6418f5.jpg" title="Feeding People is Easy (by James Clarke)" alt="Feeding People is Easy (by James Clarke)" width="500" height="333" /></a></div> <p><em>Plenty of plants, not much meat, and maximum&nbsp;variety.</em></p> <p>I started reading this book blindly while browsing the latest non-fiction books in the library. I have purposely avoided soliciting the opinions of others (reviews) of the book and have not read any information about the author, Colin Tudge. The idea is to approach the book unbiased by Tudge&#8217;s political views and how highly or poorly respected his ideas are; for all I know the guy could be largely regarded as a&nbsp;crank.</p> <p>The book is concerned with how to solve the world&#8217;s food problems. Tudge believes it should not be difficult to feed everyone in the world to the highest standards both of nutrition and of gastronomy (and to do so forever). I am still wading into his rationale and proposed solution, but thus far it has been quite stimulating. It will be interesting to see how his ideas aligns with those presented in Radio 4&#8217;s current <a href="http://www.bbc.co.uk/radio4/ourfoodourfuture">Our Food Our Future</a>&nbsp;series.</p> <p>One thing I found particularly informative and useful is the lightning course in nutrition. The quote above is his succinct summary of modern nutritional&nbsp;theory.</p> <p>(The salad pictured is a chicken salad with nectarines, peppers and&nbsp;basil).</p> Walled gardensJames Clarke2008-07-17T23:11:41Z2008-07-17T23:11:41Zhttp://jamesclarke.net/notes/walled-gardens <blockquote> <p>Because in the end, that&#8217;s the Internet that we all want to be part of. As a society we rejected &#8220;walled gardens&#8221; like <span class="caps">AOL</span>, Compuserve, and <span class="caps">MSN</span> in the early 90s in favor of the distributed, open nature of the World Wide Web. And I think that the new walled gardens like Facebook and Google, need to be replaced with open protocols and standards. Will Open Network Services be the basis of &#8220;Web 3.0&#8221;, the next stage of Web culture? I truly think so, but that&#8217;s still an open&nbsp;question.</p> </blockquote> <p><a href="http://evan.prodromou.name/Journal/14_Messidor_CCXVI">Journal/14 Messidor <span class="caps">CCXVI</span> from Evan&nbsp;Prodromou</a></p> AmericanaJames Clarke2008-07-03T23:20:59Z2008-07-03T23:20:59Zhttp://jamesclarke.net/notes/americana <div class="photo"> <a href="http://www.flickr.com/photos/jc/2672643419/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3050/2672643419_0db3d3bd4b.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br /> <a href="http://www.flickr.com/photos/jc/2629619733/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3045/2629619733_16e4ac36bd.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br/> <a href="http://www.flickr.com/photos/jc/2635750762/" title="Untitled (by James Clarke)"><img src="http://farm4.static.flickr.com/3135/2635750762_17e79c98aa.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a><br/> <a href="http://www.flickr.com/photos/jc/2648076281/" title="Untitled (by James Clarke)"><img src="http://farm3.static.flickr.com/2028/2648076281_d76ff2313d.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a> </div> Triptych 2008 at Tramway, GlasgowJames Clarke2008-05-04T14:08:33Z2008-05-04T14:08:33Zhttp://jamesclarke.net/notes/triptych-2008 <p>Last weekend saw the final <a href="http://www.triptychfestival.com/">Triptych</a> music festival take place in Edinburgh, Glasgow and Aberdeen; incidentally this was my first Triptych experience. The <a href="http://www.last.fm/event/542143">Tramway gig</a> was one of the largest events featuring Mogwai headlining with support from Clinic, Dirty Projectors, Malcolm Middleton, Errors, Frightened Rabbit, Magik Markers, Correcto and&nbsp;RememberRemember.</p> <p>Despite the fact that we saw <a href="http://www.myspace.com/frightenedrabbit">Frightened Rabbit</a> on the Thursday at <a href="http://www.thegrv.com/">The <span class="caps">GRV</span></a>, they were still amazing at Triptych and even more so at their after show party. It was probably the biggest crowd Frightened Rabbit had played and they were more than capable of rising to the occasion. When midway through their set Andy&#8217;s amp blew they played, the much requested (at least by me!), <em>Behave!</em> from their first album. The after show party included Frightened Rabbit playing <a href="http://www.myspace.com/shitdisco"><span class="caps">SHITDISCO</span>&#8217;s</a> <em>I Know Kung Fu</em>, Mark Devine from <a href="http://www.myspace.com/thetwilightsad">The Twilight Sad</a> playing drums on <em>Be Less Rude</em> and <em>My Backwards Walk</em> with plenty of <a href="http://www.myspace.com/thenational">The National&#8217;s</a> <em>Fake Empire</em>.</p> <p><br /> <div style="text-align: center;"><img style="border:none;" src="/media/images/5478834x-300x300.jpg" alt="Album Cover" title="Errors - Itklzzwxh:0024#039;s Not Something But It Is Like Whatever" width="300" height="300" class="alignnone size-medium wp-image-300" /></div></p> <p>One of the surprises of the night were <a href="http://www.myspace.com/weareerrors">Errors</a> who have their debut album out next month. Throughout their set of blending electronica with guitars we moved closer and closer to stage until we were near the&nbsp;front.</p> <p>The sound setup all night at the Tramway was excellent from my point of view and was especially evident when <a href="http://www.myspace.com/mogwai">Mogwai</a> played. A few years back I had been underwhelmed by Mogwai&#8217;s performance at The Usher Hall in Edinburgh. This time however, it was awesome; they built up to the loudness and at no time was it&nbsp;overpowering.</p> <p>This was probably the best (and longest) day and night of music I have ever&nbsp;experienced.</p> Primer (2004)James Clarke2008-04-11T15:32:31Z2008-04-11T15:32:31Zhttp://jamesclarke.net/notes/primer <ul><li>Intriguing low budget sci-fi involving time&nbsp;travel.</li> <li>The time travel, paradoxes and non-linear story line leave you more than slightly&nbsp;confused.</li> <li>The last twenty minutes are when you realise you might not quite have a full grasp of the&nbsp;story.</li> <li>By the end you won&#8217;t have understood everything but you won&#8217;t feel cheated&nbsp;either.</li> <li>With a desire to piece everything together you watch the film <em>twice</em> in one&nbsp;night.</li> <li>It has a very similar indie style and feeling to <a href="http://us.imdb.com/title/tt0393109/">Brick</a>.</li> <li><a href="http://www.avclub.com/content/feature/the_new_cult_canon_primer">The New Cult Canon: <em>Primer</em></a></li> <li><strong>Time travel and Primer are mind boggling but in an enjoyable&nbsp;way.</strong></li> </ul> Holy Fuck Live at Stereo, GlasgowJames Clarke2008-04-09T21:00:23Z2008-04-09T21:00:23Zhttp://jamesclarke.net/notes/holy-fuck-live <div style="text-align: center;"><img class="noline" src="/media/images/hf4b.jpg" alt="Holy Fuck"/></div> <p><a href="http://www.last.fm/event/493095">5 April&nbsp;2008</a></p> <p><a href="http://holyfuckmusic.com/">Holy Fuck</a> supported by <a href="http://www.myspace.com/freeblood">Free Blood</a> at <a href="http://www.stereocafebar.com/">Stereo</a>, Glasgow. Stereo is a new cafe-bar-music-venue situated on Renfield Lane. At street-level is the cafe-bar serving vegan-friendly food until 8pm, perfect for a pre-gig dinner! Vegan-friendly food can be very hit or miss fortunately the two calzoni we opted for were pretty good and suitably&nbsp;priced.</p> <p>The gig started late in the basement of Stereo. First up were Free Blood, whose set consisted of them pretentiously prancing around the stage to sequenced tracks (and they weren&#8217;t even in costumes!). The performance was reminiscent of a sketch about modern dance or theatre, something you would probably see in <a href="http://en.wikipedia.org/wiki/Spaced">Spaced</a> featuring&nbsp;Brian.</p> <p>Holy Fuck on the other hand were great and very surprising considering their style of music (lo-fi electronica, not something I usually listen to). Their setup consists of a bassist, a drummer and two guys each with a table full of pedals, wires and Casio keyboards. Now, two guys stood at a table doesn&#8217;t sound like much fun but they do not in any way resemble two guys <em>playing</em> with their laptops. They are frantic on stage: changing keyboards between songs, running 35mm film through a film sequencer, pushing various pedals etc. Combine this with the energy and power from the drummer and it not only makes for amazing music but also a great sight to watch. It is no wonder they were highly praised at&nbsp;Glastonbury.</p> <p>Overall the night was definitely worth the trip through to Glasgow. Holy Fuck were fantastic and the venue plus crowd were also very&nbsp;good.</p> Happiness Involves Animals (apparently)...James Clarke2008-04-06T23:12:51Z2008-04-06T23:12:51Zhttp://jamesclarke.net/notes/happiness-involves-animals <ol> <li>Jonquil -&nbsp;Lions</li> <li>Eels - Fresh&nbsp;Feeling</li> <li>Arcade Fire - Keep The Car&nbsp;Running</li> <li>Lemon Jelly - Nice Weather For&nbsp;Ducks</li> <li>The Bees - Chicken&nbsp;Payback</li> <li>The Apples In Stereo -&nbsp;Energy</li> <li>Panda Bear - Comfy In&nbsp;Nautica</li> <li><span class="caps">LCD</span> Soundsystem - Watch The&nbsp;Tapes</li> <li>Holy Fuck - Lovely&nbsp;Allen</li> </ol> <p>34:25</p> <p>This happy-feel-good mixtape accidently ended up including many animal related songs and artists (oh&nbsp;well!).</p> Take Away ShowsJames Clarke2008-03-10T12:24:49Z2008-03-10T12:24:49Zhttp://jamesclarke.net/notes/take-away-shows <div style="text-align: center;"><object width="420" height="339"><param name="movie" value="http://www.dailymotion.com/swf/x449pc" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://www.dailymotion.com/swf/x449pc" type="application/x-shockwave-flash" width="420" height="339" allowFullScreen="true" allowScriptAccess="always"></embed></object></div> <p><a href="http://www.vincentmoon.com/">Vincent Moon</a> and Chryde have been creating <a href="http://www.takeawayshows.com/">Take Away Shows</a> for <a href="http://www.blogotheque.net/">La Blogotheque</a> since April 2006. The basic premise is you take some hip indie band and let them perform unannounced on a street, alley, mini-bus, courtyard, park, cafe etc. in Paris and let the sound&nbsp;evolve.</p> <p>Filmed in a distinctive style of high contrast, I first came across these shows over a year ago when Arcade Fire performed <a href="http://blogotheque.net/Arcade-Fire">Neon Bible in a freight elevator</a> which I think inspired them to perform <a href="http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=2024167964">a similar rendition</a> for <a href="http://www.bbc.co.uk/cultureshow/">The Culture Show</a>.</p> <p>Some of the best Take Away Shows come from <a href="http://blogotheque.net/Vampire-Weekend,3840">Vampire Weekend</a>, <a href="http://blogotheque.net/Beirut,3455">Beirut</a>, <a href="http://blogotheque.net/Guillemots,2592">Guillemots</a>, <a href="http://blogotheque.net/Okkervil-River">Okkervil River</a> and <a href="http://blogotheque.net/Gravenhurst,3453">Gravenhurst</a>; although there are <a herf="http://blogotheque.net/spip.php?page=cae_all&lang=en">many many more</a> worth&nbsp;watching.</p> Chickpeas with chorizoJames Clarke2008-03-06T18:00:13Z2008-03-06T18:00:13Zhttp://jamesclarke.net/notes/chickpeas-with-chorizo <p>A simple stew from Nigel Slater via <a href="http://lifeandhealth.guardian.co.uk/experts/nigelslater/story/0,,1641168,00.html">Nigel Slater on Food</a>. I cooked the chickpeas from dry and used chilli powder rather than dried crushed chillies. This makes a very good stew-base too, add carrots etc to bulk it out even more. Served with a good quality&nbsp;bread.</p> <blockquote> <p><strong>Chickpeas with&nbsp;chorizo</strong></p> <ul> <li>2-3 tbsp of olive&nbsp;oil</li> <li>2 large&nbsp;onions</li> <li>4 cloves&nbsp;garlic</li> <li>3 chorizo sausages - about&nbsp;400g</li> <li>crushed dried&nbsp;chillies</li> <li>a glass of dry sherry, vermouth or white&nbsp;wine</li> <li>5 or 6 decent-sized&nbsp;tomatoes</li> <li>2 x 400g tins of&nbsp;chickpeas</li> <li>small bunch of&nbsp;parsley</li> </ul> <p>Warm the olive oil in a deep, heavy-based pan. I use a cast-iron casserole. Peel the onions, roughly chop them and add them to the oil, stirring to coat them, then letting them cook at a moderate heat. Peel the garlic, slice it thinly and stir it into the onions. Leave to cook, partially covered by a lid, until the onions are soft and pale&nbsp;gold.</p> <p>Cut each sausage into about four fat chunks. Mix these in with the softened onions, then add a teaspoon or so of crushed, dried chillies.Pour in a glass of dry sherry, vermouth or white wine and bring it to an enthusiastic bubble. Chop the tomatoes roughly, add them and bring them to the boil. Add the chickpeas, drained and rinsed, then pour in a can of water. Season with salt and black pepper, bring to the boil, then turn down to a simmer and leave to cook slowly, half-covered with a lid, for 45&nbsp;minutes.</p> <p>I would give it a stir from time to time, and check the liquor levels.What you want to end up with is a rich, brick-red sauce with a spiciness from the chillies and&nbsp;chorizo.</p> <p>Just before serving, chop the parsley, roughly, then stir into the stew. Serve in shallow&nbsp;bowls.</p> </blockquote> And ended up the kind of kid who goes down chutes too narrowJames Clarke2008-02-13T22:52:30Z2008-02-13T22:52:30Zhttp://jamesclarke.net/notes/mini-adventure <div class="photo"><a href="http://www.flickr.com/photos/jc/2262879182/" title="Untitled (by James Clarke)"><img src="http://farm3.static.flickr.com/2327/2262879182_848b66cf97.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="333" /></a></div> <p>A weekend in and around Fort William. Staying in the lovely <a href="http://www.glenaladale-house.co.uk/">Glenaladale B&amp;B</a> a short walk from Fort William town centre. The holiday turned into a <a href="http://www.makesureitsaminiadventure.co.uk/"><span class="caps">MINI</span> Adventure</a> with direction provided by <a href="http://www.tomtom.com/">TomTom</a> who was unimpressed by most of my driving. Music was courtesy of a white 4G and a black 6G <a href="http://www.apple.com/uk/itunes/">iPod</a> with most the selection by Chloe. In-car snacks provided by Pringles and Haribo. <a href="http://en.wikipedia.org/wiki/Freaks_and_Geeks">Freaks and Geeks</a> and peanut M&amp;Ms made for a relaxing&nbsp;nighttime.</p> <div class="photo"> <a href="http://www.flickr.com/photos/jc/2262092299/" title="Untitled (by James Clarke)"><img src="http://farm3.static.flickr.com/2159/2262092299_59ded43360.jpg" title="Untitled (by James Clarke)" alt="Untitled (by James Clarke)" width="500" height="500" /></a> </div> <p>Some fond memories from the weekend&nbsp;include:</p> <ul> <li>Performing silly shenanigans involving mainly cows in an empty gift shop by some castle on the way&nbsp;Skye.</li> <li>Driving past various <a href="http://www.highways.gov.uk/business/1214.aspx">brown (tourist) signs</a> indicating points of interest and turning around only to find out Neptune&#8217;s Steps are not as remotely interesting as the name might suggest. They are merely a set of eight lock&nbsp;gates.</li> <li>Stopping off randomly and walking through the boggy vegetation to get closer to the edge of the&nbsp;loch.</li> <li>Amusing ourselves while we killed two hours in <a href="http://www.plocktonhotel.co.uk/">Plockton Hotel</a> before they started taking orders for&nbsp;dinner.</li> <li>Listening to <a href="http://www.last.fm/music/Sigur+R%C3%B3s">Sigur Ros</a> as magnificent landscapes unfolded before&nbsp;us.</li> <li>Chloe really enjoying singing on the way back to Glasgow, especially Young Pilgrims by <a href="http://www.last.fm/music/The+Shins">The Shins</a>.</li> </ul> Cloverfield (2008)James Clarke2008-02-11T14:19:26Z2008-02-11T14:19:26Zhttp://jamesclarke.net/notes/cloverfield <ul> <li>It has a&nbsp;monster.</li> <li>New York is&nbsp;destroyed.</li> <li>Shaky-handheld-camera-work.</li> <li>Characters die but we don&#8217;t mind or care for&nbsp;them.</li> <li>The film isn&#8217;t&nbsp;great.</li> <li>But it isn&#8217;t terrible&nbsp;either.</li> <li>At least it is short and doesn&#8217;t go on forever&nbsp;(84min).</li> <li><strong>A harmless-<em>nothing</em>-movie.</strong></li> </ul> Sunshine (2007)James Clarke2008-02-05T17:53:24Z2008-02-05T17:53:24Zhttp://jamesclarke.net/notes/sunshine <ul><li>The cinematography is reminiscent of 2001: A Space Odyssey in&nbsp;places.</li> <li>I really regret not seeing this during its cinema run. The visuals and power of light would have been amazing on the big&nbsp;screen.</li> <li>It would have worked well with the complete silence of&nbsp;space.</li> <li>Mark Kermode has an article from The Observer on Sunshine. <a href="http://observer.guardian.co.uk/review/story/0,,2042098,00.html">2007: a scorching new space odyssey</a>.</li> <li><strong>Worth seeing, especially if you are a fan of&nbsp;2001.</strong></li></ul> TED TalksJames Clarke2008-01-10T22:03:56Z2008-01-10T22:03:56Zhttp://jamesclarke.net/notes/ted-talks <div style="text-align: center;"><img style="border:none;" src="http://www.ted.com/images/ted_logo.gif" alt="TED logo" /></div> <p>The <a href="http://www.ted.com"><span class="caps">TED</span></a> 2008 program has been <a href="http://www.ted.com/index.php/pages/view/id/48">announced</a>. I haven&#8217;t had a chance to go through the program yet but I&#8217;m sure there will be some amazing and inspiring talks. I&#8217;m still working my way through many of the older talks. Here was some of the best <a href="http://www.ted.com/index.php/talks"><span class="caps">TED</span> talks</a> I&#8217;ve seen over the last few&nbsp;months.</p> <ul> <li><a href="http://www.ted.com/index.php/talks/view/id/58">Larry Brilliant wants to stop&nbsp;pandemics</a></li> <li><a href="http://www.ted.com/index.php/talks/view/id/92">Hans Rosling: Debunking third-world myths with the best stats you&#8217;ve ever&nbsp;seen</a></li> <li><a href="http://www.ted.com/index.php/talks/view/id/170">Jeff Skoll makes movies that make&nbsp;change</a></li> <li><a href="http://www.ted.com/index.php/talks/view/id/49">Joshua Prince-Ramus: Designing the Seattle Central&nbsp;Library</a></li> <li><a href="http://www.ted.com/index.php/talks/view/id/84">James Nachtewy: Share a vital story with the&nbsp;world</a></li> <li><a href="http://www.ted.com/index.php/talks/view/id/144">Jonathan Harris: The Web&#8217;s secret&nbsp;stories</a></li> </ul> regrettable desiresJames Clarke2008-01-08T23:36:01Z2008-01-08T23:36:01Zhttp://jamesclarke.net/notes/regrettable-desires <ol> <li>ben folds -&nbsp;gone</li> <li>camera obscura - i don&#8217;t want to see&nbsp;you</li> <li>okkervil river - get&nbsp;big</li> <li>the cure - in between&nbsp;days</li> <li>the who - the song&#8217;s&nbsp;over</li> <li>galaxie 500 -&nbsp;sorry</li> <li>death cab for cutie - title and&nbsp;registration</li> <li>ben folds five -&nbsp;smoke</li> <li>the velvet underground - all tomorrow&#8217;s&nbsp;parties</li> <li>lcd soundsystem - someone&nbsp;great</li> </ol> <p>44:54</p> <p>Just another mix that I made a while&nbsp;back.</p> forward digressionsJames Clarke2007-12-13T18:18:48Z2007-12-13T18:18:48Zhttp://jamesclarke.net/notes/forward-disgressions <p><em>side&nbsp;a</em></p> <ol> <li>frightened rabbit - music&nbsp;now</li> <li>the stills - lola stars and&nbsp;stripes</li> <li>yeah yeah yeahs -&nbsp;maps</li> <li>vampire weekend -&nbsp;walcott</li> <li>the raveonettes - dead&nbsp;sound</li> <li>tokyo police club - nature of the&nbsp;experiment</li> <li>the octopus project - music is&nbsp;happiness</li> </ol> <p><em>side&nbsp;b</em></p> <ol> <li>galaxie 500 -&nbsp;snowstorm</li> <li>okkervil river - for&nbsp;real</li> <li>tacks, the boy disaster - frozen&nbsp;feet</li> <li>wilco - on and on and&nbsp;on</li> <li>british sea power - tugboat (galaxie 500&nbsp;cover)</li> <li>saint jude&#8217;s infirmary - church of john&nbsp;coltrane</li> </ol> <p>54:48</p> <p>forward digressions is a mixtape (although technically I burnt it to <span class="caps">CD</span>) given to Chloe for Christmas 2007. I may have slightly cheated by including Galaxie 500 and British Sea Power covering Galaxie 500, but there you&nbsp;go!</p> The Radio 2 effectJames Clarke2007-10-30T17:27:30Z2007-10-30T17:27:30Zhttp://jamesclarke.net/notes/the-radio-2-effect <p><a href="http://observer.guardian.co.uk/omm/story/0,,1150805,00.html">Two the power</a> in the Observer Music Monthly Feb&nbsp;2004.</p> <blockquote>The agile performance of the station has spawned a new industry term, <strong>&#8220;the Radio 2 effect&#8221;</strong>, that is now bandied about at every major record label marketing meeting.</blockquote> <p>Although not used in the context of the audience at a live&nbsp;show. </p> Arcade Fire at the SECC, GlasgowJames Clarke2007-10-29T17:36:21Z2007-10-29T17:36:21Zhttp://jamesclarke.net/notes/arcade-fire-at-the-secc-glasgow <p>Set list (setlist?) for October 26 2007. (via: <a href="http://teawithtufty.blogspot.com/2007/10/arcade-fire-glasgow-secc-26th.html">tea with tufty</a>)</p> <blockquote> 01 Black Mirror <br /> 02 Keep The Car Running<br /> 03 Neighborhood #2 (Laika)<br /> 04 No Cars Go<br /> 05 Haiti<br /> 06 My Body Is A Cage<br /> 07 Kiss Off<br /> 08 Ocean of Noise<br /> 09 Neighborhood #1 (Tunnels)<br /> 10 The Well and The Lighthouse<br /> 11 Headlights Look Like Diamonds<br /> 12 (Antichrist Television Blues)<br /> 13 Neighborhood #3 (Power Out)<br /> 14 Rebellion (Lies)<br /> 15 Intervention<br /> 16 Wake Up</blockquote> <p>It was no where near as good as the Barrowlands <a href="http://www.cocoklo.net/archives/10/a-live-show-to-die-for/">gig</a> on March 12. I don&#8217;t think it was Arcade Fire&#8217;s fault, more the fault of the poor venue and pedestrian crowd. I guess we can call this the <a href="http://www.bbc.co.uk/radio2">Radio 2</a>&nbsp;effect.</p> Chocolate-boxesJames Clarke2007-04-29T18:29:34Z2007-04-29T18:29:34Zhttp://jamesclarke.net/notes/chocolate-boxes <div class="photo"><a href="http://www.flickr.com/photos/jc/477033841/" title="Chocolate-boxes (by James Clarke)"><img src="http://farm1.static.flickr.com/211/477033841_f832f5a6d0.jpg" title="Chocolate-boxes (by James Clarke)" alt="Chocolate-boxes (by James Clarke)" width="500" height="330" /></a></div> <p>I&#8217;ve been rereading parts of Chris Dickie&#8217;s <a href="http://www.amazon.co.uk/Photo-Projects-Publish-Photography-Internet/dp/1902538447/">Photo Projects</a> book. The first three paragraphs of the second chapter, <em>A little self-discipline</em>, caused me to pause and consider how to develop&nbsp;photographically.</p> <blockquote><p>What&#8217;s the point in involving yourself in a project - sounds a bit like going back to school? And what, photographically, makes a &#8220;project&#8221; anyway? Some photographers may never have asked themselves the question, having instinctively worked in this way since picking up a camera; and the others, well they haven&#8217;t thought about it much either, being content to pursue their hobby in search of the pretty picture. And if you fall into the latter group you have to ask yourself &#8220;What am I doing making pictures? Am I really making the most of the medium? What am I&nbsp;achieving?&#8221;</p> <p>Pursuing a project can be very like schoolwork. You have an objective, a target, and, in the process of achieving it, you learn. Through this you and your practice develop, and you become a better photographer. By exploring your subject you gain insight and understanding, and your images make this knowledge available to others. The end-product is a coherent body of work where the whole is greater than the sum of its parts, rather than a set of chocolate-box tops. You demonstrate that you have something to say about your subject beyond simply having an eye for a good snap. A successfully executed project works like a well-argued essay; indeed that is what it is, except that pictures provide the propositions and conclusions rather than words. And where conclusions are elusive at least there will be&nbsp;questions.</p> <p>All in all a much more satisfactory and engaging outcome for both photographer and viewer. Unless you are obsessed by chocolate-boxes, that&nbsp;is.</p></blockquote> <p>I&#8217;ve been wanting to start a small project or do a mini-series of photos for awhile but haven&#8217;t had the inspiration. It is about time I started brainstorming some&nbsp;ideas. </p> Pork Loin Chops with Parnsip, Carrot and Butternut SquashJames Clarke2006-12-13T13:44:57Z2006-12-13T13:44:57Zhttp://jamesclarke.net/notes/pork-loin-chops-with-parnsip-carrot-and-butternut-squash <p>We&#8217;ve been getting into cooking with seasonal vegetables this winter. Annie Bell&#8217;s <em>In My Kitchen</em> has some great recipes and this is one we adapted slightly. It is such a simple dish to prepare and cook, and the caramelized vegetables taste utterly brilliant. There is no need for any potato or other staple to be served with the dish, although I imagine a green salad would go down&nbsp;well.</p> <p><strong>Pork Loin Chops with Parsnip, Carrot and Butternut&nbsp;Squash</strong></p> <p><em>Notes: Her recipe calls for beetroot but we replace that with butternut squash to suit our tastes. Also we prefer a more basic apple sauce than a chilli-fied&nbsp;version.</em></p> <p><em>Serves&nbsp;4</em></p> <p><em>Apple&nbsp;Sauce</em></p> <ul> <li>600g Bramley apples, peeled, cored and&nbsp;sliced</li> <li>50g golden caster&nbsp;sugar</li> </ul> <p><em>Roast</em></p> <ul> <li>4 pork loin chops&nbsp;(rib-in)</li> <li>sea salt and black&nbsp;pepper</li> <li>600g carrots, trimmed and&nbsp;peeled</li> <li>600g parsnips, trimmed and&nbsp;peeled</li> <li>1 butternut squash, peeled and cut into&nbsp;wedges</li> <li>a large handful of sage&nbsp;leaves</li> <li>4 tbsp extra virgin olive&nbsp;oil</li> </ul> <p>Place all the ingredients for the sauce in a medium-sized saucepan with 100ml water. Bring to the boil and then cover and cook over a low heat for 15-17 minutes, mashing the apple to a coarse puree once or twice during cooking. Transfer the sauce to a bowl and leave to&nbsp;cool.</p> <p>Meanwhile, heat the oven to 190C fan oven/200C electric oven/Gas mark 6. Slice the skin off the chops and score with a crisscross pattern using the tip of a sharp knife. Heat a large non-stick frying pan over a medium heat, season and colour the chops on both sides, then sear the fat to crisp it a little. Now lightly colour the fat side of the crackling, then turn and colour the other side&nbsp;too.</p> <p>Either halve or quarter the carrots and parsnips depending on their size and cut in half lengthwise if necessary. Arrange the vegetables and sage leaves in a 38x25cm roasting dish. Drizzle with the olive oil and season. Lay the crackling ontop, rind uppermost, and roast for 20 minutes. Stir the vegetables, leaving the crackling on top and roast for another 20 minutes. Give the vegetables a final stir and arrange the chops on top, without cover the crackling, and roast for another 15 minutes. Leave to rest for 5 minutes, then serve the chops, crackling and vegetables with the apple sauce spooned&nbsp;over.</p> I am not a PandaJames Clarke2006-12-07T14:26:23Z2006-12-07T14:26:23Zhttp://jamesclarke.net/notes/i-am-not-a-panda <p>Things I am not. Courtesy of <a href="http://www.google.co.uk/search?q=I+am+not+a+*">Google</a>.</p> <p>I am not a geek. I am not a lawyer. I am not a crook. I am not a tourist. I am not a spammer. I am not a libertarian. I am not a Calvinist. I am not a pacifist. I am not a goody-goody. I am not a guru programmer. I am not a Freemdoom. I am not a superman. I am not a secularist. I am not a nugget. I am not a Luddite. I am not a Straussian. I am not a cheapskate. I am not a Claymate. I am not a democrat. I am not a seamhead. I am not a doctor. I am not a nameless cat. I am not a&nbsp;prude.</p> <p>Hmm, <strong><a href="http://www.google.co.uk/search?q=%22I+am+not+a+panda%22">I am not a panda</a></strong> doesn&#8217;t occur until later much&nbsp;later.</p> <div class="photo"><a href="http://www.flickr.com/photos/49308303@N00/269784358/" title="#1 It’s pleasant (by orlando*)"><img src="http://farm1.static.flickr.com/95/269784358_d1642b76dd.jpg" title="#1 It’s pleasant (by orlando*)" alt="#1 It’s pleasant (by orlando*)" width="500" height="375" /></a></div> New ComedyJames Clarke2006-11-22T11:14:04Z2006-11-22T11:14:04Zhttp://jamesclarke.net/notes/new-comedy <p>There are two things you should hunt down on <a href="http://www.youtube.com">YouTube</a> or other media outlets if you are in the need for some&nbsp;comedy.</p> <p>Firstly, Charlie Brooker&#8217;s <a href="http://www.bbc.co.uk/bbcfour/features/screen-wipe.shtml">Screenwipe</a>. The <span class="caps">TV</span> adaptation of his <a href="http://www.guardian.co.uk/theguide/brooker/">Screen Burn</a> column in The Guardian. We must have watched the <span class="caps">USA</span> Edition of Screenwipe about five times already and have shown it to anyone that will pay attention. Hopefully we&#8217;ll see new series in the near&nbsp;future.</p> <p><a href="http://en.wikipedia.org/wiki/Simon_Amstell">Simon Amstell</a> presenting <a href="http://www.bbc.co.uk/bbctwo/programmes/?id=buzzcocks">Never Mind The Buzzcocks</a>. His boyish looks remind me a little of <a href="http://www.myspace.com/mattkirshen">Matt Krishen</a> who we&#8217;ve seen a few times during the <a href="http://en.wikipedia.org/wiki/Edinburgh_Fringe">festival</a>. Amstell has breathed new life into <em>Buzzcocks</em> and taking it beyond <em>The Phil and Bill</em> show. However, future guests of <em>Buzzcocks</em> be warned, Amstell is a harsh and relentless young&nbsp;man.</p> <p>Also, although not video related. Last week <a href="http://en.wikipedia.org/wiki/Jon_Holmes">Jon Holmes</a> did a great job presenting <a href="http://en.wikipedia.org/wiki/Nemone">Nemone&#8217;s</a> usual afternoon show on <a href="http://www.bbc.co.uk/6music/">6music</a>. I hadn&#8217;t heard of Holmes before but he managed to be consistently funny all week. I&#8217;ll have to check out <a href="http://www.bbc.co.uk/6music/shows/jon_holmes/">his Saturday afternoon show</a> on listen again&nbsp;sometime.</p> Vanilla Sky and Bedtime MusicJames Clarke2006-11-20T16:07:52Z2006-11-20T16:07:52Zhttp://jamesclarke.net/notes/vanilla-sky-and-bedtime-music <p>Watched <a href="http://us.imdb.com/title/tt0259711/">Vanilla Sky</a> last night from an old <a href="http://www.humaxdigital.com/uk/products/pvr-9200t.asp">recording</a> off Film4. I had seen it once before but never realised that <a href="http://en.wikipedia.org/wiki/Sigur_Ros">Sigur Ros</a> is used so often throughout. In fact the whole soundtrack is great. Rotten Tomatoes has a <a href="http://www.rottentomatoes.com/vine/showthread.php?t=443847">full list of songs in chronological order</a>.</p> <p>Following the movie we revived the tradition of listening to lovely music before bed with Sigur Ros&#8217; <a href="http://www.amazon.co.uk/Agaetis-Byrjun-Sigur-Ros/dp/B00004W3MS/">Agaetis Byrjun</a>. This is the first time I&#8217;ve listened to the album since we saw them live last year; it always reminds me how great Sigur Ros were live. Other bedtime music includes: Pink Floyd&#8217;s <a href="http://www.amazon.co.uk/Wish-Were-Here-Pink-Floyd/dp/B000024D4S/">Wish You Were Here</a>, Jeff Buckley&#8217;s <a href="http://www.amazon.co.uk/Grace-New-Version-Jeff-Buckley/dp/B0002VJT4U/">Grace</a> and Mogwai&#8217;s <a href="http://www.amazon.co.uk/Come-Die-Young-Mogwai/dp/B0000255KS/">Come on Die Young</a>.</p> The Second Coming of the Monkey GodJames Clarke2006-11-17T14:28:19Z2006-11-17T14:28:19Zhttp://jamesclarke.net/notes/the-second-coming-of-the-monkey-god <p>I haven&#8217;t really been following the buzz surrounding Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Zune">Zune</a> <span class="caps">MP3</span> player. But I came across a cool teaser advert for it. This is probably the best Zune advert out of all them, well at least it appealed to me the&nbsp;most.</p> <p style="text-align: center;"><object width="445" height="364"><param name="movie" value="http://www.youtube.com/v/_8sFn3t0chw&hl=en&fs=1&rel=0&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_8sFn3t0chw&hl=en&fs=1&rel=0&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed></object></p> <p>The video was done by <a href="http://www.motiontheory.com/work/microsoft-zune_two-little-birds">Motion Theory</a> and features &#8220;The Second Coming of the Monkey God&#8221; by <a href="http://www.myspace.com/ashtarcommand">Ashtar Command</a> who I had never heard of before. Unfortunately I haven&#8217;t been able to find a full version the song or any other songs by Ashtar Command (apart from those on their MySpace page).Microsoft have recently launched the Zune in the <span class="caps">US</span> but according to <a href="http://www.reghardware.co.uk/2006/10/31/ms_zune_uk_debut/">The Register</a> the player isn&#8217;t planned to hit <span class="caps">UK</span> shores until late 2007 or early 2008! This is mainly attributed to problems surrounding finding a platform or supplier for the music store element. It seems strange that Microsoft would be willing to conceed another year&#8217;s worth of sales to Apple; unless the Zune is a <a href="http://en.wikipedia.org/wiki/Loss_leader">loss leader</a> and Microsoft are counting on music store&nbsp;sales.</p> <p>I would have thought that the iPod and Zune main attraction is as a music player and then the music store compatibility is an added bonus. I wonder how many people with iPods are actually using the iTMS regularly instead of buying CDs or downloading the music illegally? I know I&#8217;ve only <em>bought</em> two tracks from the music store and they were purchased using free song voucher codes from Coke&nbsp;bottles.</p> The Beeb and user generated contentJames Clarke2006-11-16T16:54:44Z2006-11-16T16:54:44Zhttp://jamesclarke.net/notes/the-beeb-and-user-generated-content <p><a href="http://media.guardian.co.uk/">Media Guardian</a> is reporting that the <a href="http://media.guardian.co.uk/site/story/0,,1949139,00.html"><span class="caps">BBC</span> is to pay for [some] viewers&#8217; pictures</a>. The <span class="caps">BBC</span> have been terrible at paying for user submitted content. One <span class="caps">BBC</span> editor even <a href="http://flickr.com/groups/scots/discuss/72157594242303065/">requested</a> that Flickr users give the <span class="caps">BBC</span> advanced permission to user their photos for the <span class="caps">BBC</span> Scotland news&nbsp;website.</p> <p>The news isn&#8217;t as great as the headline makes out, hence I&#8217;ve added <em>some</em> in&nbsp;brackets.</p> <blockquote cite="http://media.guardian.co.uk/site/story/0,,1949139,00.html">New guidelines tell <span class="caps">BBC</span> staff they can make payments to members of the public who send in footage from mobile phones or cameras, but &#8220;audiences should not be encouraged to think that payment is the norm&#8221;. &#8230; &#8220;We do not want to give people the impression that we will pay for hundreds of pieces of user-generated content,&#8221; said Ms Taylor. She said the only time the <span class="caps">BBC</span> has paid in the past for amateur footage was for video of the Concorde crash in Paris.</blockquote> <p>In practice I doubt we&#8217;ll see much of a change in attitude from the <span class="caps">BBC</span> and other media outlets. They are all wanting to cut down on their costs and see user generated content as an easy method. I don&#8217;t think people recognise the potential value of their photographs and how giving away publishing rights for free damages the photographic industry in general. However, when it comes to articles people expect the author to be paid fully for&nbsp;publication.</p> QotD: Top 5 Video GamesJames Clarke2006-11-16T14:31:02Z2006-11-16T14:31:02Zhttp://jamesclarke.net/notes/qotd-top-5-video-games <blockquote>What&#8217;s on your Top 5 video games list? <span style="font-size: 0.8em">Submitted by <a href="http://mileena.vox.com/" at:user-xid="6p00c2251d21be604a" class="enclosure-inline-user">mileena</a>.</span></blockquote> <p>Quite a difficult one. It&#8217;s been ages since I played computer games properly but I used to play loads during the 90s. I&#8217;m not sure this list is definitive but it must be quite close (in chronological order). <h4><a href="http://www.geocities.com/simesgreen/ev/">Extreme&nbsp;Violence</a></h4> A little known top-down shooter for the Amiga 500. I can remember playing this when growing up and realising that it had a little something that no other game had. It was the first game I encountered with an element of deathmatch. Both players played on the same computer using half a screen each. Your job was to hunt down and kill the other player while picking up different power-ups for you gun, such as bouncy bullets. Incredibly enjoyable! Gameplay is everything. <h4><a href="http://en.wikipedia.org/wiki/Super_Mario_Bros._3">Super Mario Bros.&nbsp;3</a></h4> A departure from the linear platform games such as the original Sonic and Super Mario Bros. Gone were the days of leaving the console on pause all night and hoping your mother didn&#8217;t turn it off before you woke up in the morning. The new save option also allowed for a huge game world. <h4><a href="http://en.wikipedia.org/wiki/StarCraft">Starcraft</a> and <a href="http://en.wikipedia.org/wiki/Brood_War">Brood&nbsp;War</a></h4> I have probably spent more hours playing this game than any other. I was a big fan of <a href="http://en.wikipedia.org/wiki/Dune_II">Dune <span class="caps">II</span></a> and <a href="http://en.wikipedia.org/wiki/Command_%26_Conquer">C&amp;C</a> but had never experienced them in multiplayer mode. This was my first real attempt at online gaming and one that lasted close to five years. The game evolved into an extremely balanced <span class="caps">RTS</span> which could be enjoyed by players of all skill levels from novice to expert and <a href="http://en.wikipedia.org/wiki/StarCraft_professional_competition">professional</a>. Starcraft also gets bonus points for having a great single-player storyline and lovely <a href="http://en.wikipedia.org/wiki/Full_motion_video">FMVs</a>. <h4><a href="http://en.wikipedia.org/wiki/Quake_III_Arena">Quake&nbsp;<span class="caps">III</span></a></h4> Although I probably played <a href="http://en.wikipedia.org/wiki/Counter-Strike">Counterstrike</a> more during my undergrad years than Quake 3, Quake 3 must still make the list. I had never played <span class="caps">FPS</span> games <em>properly</em> before q3 so then q3 came out and I needed a game to play I decided to invest some time into it. It was mainly played at <span class="caps">LAN</span> events or ResNet as playing with lag was just unacceptable. The mods were great too, including rocket arena and the <span class="caps">OSP</span> mod, which allowed for a more professional&nbsp;game.</p> <p>And what do I play now? I haven&#8217;t played a game <em>properly</em> for years. Currently I&#8217;m just enjoying the odd game of <a href="http://en.wikipedia.org/wiki/Puyo_Puyo">Puyo Puyo</a>, <a href="http://en.wikipedia.org/wiki/WarioWare%2C_Inc.:_Mega_Party_Game%24">Warioware</a> and little <a href="http://en.wikipedia.org/wiki/Animal_Crossing_%28GameCube%29">Animal Crossing</a> on the Gamecube. A far cry from the <em>serious</em>&nbsp;gamer.</p> Installing libxml2, libxslt and the Python bindings on OS XJames Clarke2004-07-18T00:00:00Z2004-07-18T00:00:00Zhttp://jamesclarke.net/notes/libxml2 <blockquote class="alert"> <span class="caps">WARNING</span>: Do <strong>not</strong> follow these instructions on Leopard (10.5). See the notes at the bottom of the page. </blockquote> <p>A quick guide to installing <a href="http://xmlsoft.org/" title="libxml2">libxml2</a> and <a href="http://xmlsoft.org/XSLT/" title="libxslt">libxslt</a> on Mac <span class="caps">OS</span> X with Python&nbsp;bindings.</p> <p>Installing <a href="http://xmlsoft.org/" title="libxml2">libxml2</a> and <a href="http://xmlsoft.org/XSLT/" title="libxslt">libxslt</a> on Mac <span class="caps">OS</span> X can be a real pain. The information is out there but is spread across many mailing list archives and blogs. These are some of my notes from my experience of installing and using&nbsp;libxml2.</p> <h3>Obtaining the&nbsp;sources</h3> <p>Download the latest sources from one of the sites listed on the <a href="http://xmlsoft.org/downloads.html" title="xmlsoft downloads">xmlsoft download page</a>, for example the <a href="http://xmlsoft.org/sources/" title="xmlsoft http server">xmlsoft server</a>. The files you want are the latest <code>libxml2-2.2.X.tar.gz</code> and <code>libxslt-1.1.X.tar.gz</code>.</p> <p>These should be automatically uncompressed to new directories but if&nbsp;not:</p> <pre><code>$ tar xvzf libxml2-2.2.X.tar.gz $ tar xvzf libslt-1.1.X.tar.gz </code></pre> <h3>Installing&nbsp;libxml2</h3> <pre><code>$ ./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/ $ make $ sudo make install </code></pre> <p>This will install libxml2 to <code>/usr/local</code>.</p> <h3>Installing&nbsp;libxslt</h3> <p>By default configure will build against the default libxml included with <span class="caps">OS</span> X. And will typically give the&nbsp;error:</p> <pre><code>checking for libxml libraries &gt;= 2.6.8... configure: error: Version 2.6.7 found. You need at least libxml2 2.6.8 for this version of libxslt </code></pre> <p>This can be corrected by telling configure to use the libxml2 use the new&nbsp;libxml2.</p> <pre><code> $ ./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/ --prefix=/usr/local --with-libxml-prefix=/usr/local --with-libxml-include-prefix=/usr/local/include --with-libxml-libs-prefix=/usr/local/lib $ make $ sudo make install </code></pre> <p>libxslt will be installed to <code>/usr/local</code>.</p> <h3>Removing the default&nbsp;libxml2</h3> <p>The original version of libxml2 that comes with <span class="caps">OS</span> X is located in <code>/usr/lib</code>. Python appears to get confused and uses the wrong libxml2 libraries if you don&#8217;t remove the original&nbsp;libxml2.</p> <p>Typically I would get errors such&nbsp;as:</p> <pre><code> *** malloc[16996]: Deallocation of a pointer not malloced: 0x18a1800; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug Segmentation fault </code></pre> <p>In my python scripts when performing big transforms. Running the transform using <code>xsltproc</code> worked fine. Using <code>pyxsltproc.py</code>, located in the <code>python/tests</code> of the libxslt source gave <code>Bus Error</code>.</p> <p>To fix this I had to remove the original libxml2. Just to be safe I renamed&nbsp;them:</p> <pre><code> $ cd /usr/lib $ sudo mv libxml2.2.dylib libxml2.2.dylib.old $ sudo mv libxml2.dylib libxml2.dylib.old $ sudo mv libxml2.la libxml2.la.old </code></pre> <p>You can confirm what version of libxml is being used by using <code>gdb</code>. Showing two versions of libxml2&nbsp;loaded:</p> <pre><code> $ gdb python (gdb) run pyxsltproc.py transform.xsl file.xml Starting program: /usr/bin/python pyxsltproc.py transform.xsl file.xml ... (gdb) info share ... 14 libxml2.2.dylib - 0x94a30000 dyld Y Y /usr/lib/libxml2.2.dylib at 0x94a30000 (offset 0x0) ... 29 libxml2.2.dylib - 0x1008000 dyld Y Y /usr/local/lib/libxml2.2.dylib at 0x1008000 (offset 0x1008000) (gdb) </code></pre> <h3>References</h3> <ul> <li><a href="http://www.xmldatabases.org/WK/blog/659_Installing_libxml2_with_Python_on_Panther.item" title="Inspirational Technology">Inspirational&nbsp;Technology</a></li> <li><a href="http://mail.gnome.org/archives/xslt/2004-April/msg00002.html">Re: [xslt] problems with libxslt and python on Mac <span class="caps">OS</span>&nbsp;X</a></li> <li><a href="http://mail.gnome.org/archives/xslt/2004-March/msg00069.html">[xslt] problems with libxslt and python on Mac <span class="caps">OS</span>&nbsp;X</a></li> </ul> <h3>Reader&nbsp;Update</h3> <p>I&#8217;ve received a few emails since I wrote this which may be of help to&nbsp;others.</p> <p>David Hess and Katja Süss have the following advice on installing the Python bindings alone: <blockquote> <p>I found an alternate method for getting libxml2 working in Mac <span class="caps">OS</span> X&#8217;s native&nbsp;python:</p> <ol><li>Download the appropriate source code for libxml2 based on the version listed in <code>/usr/lib/xml2Conf.sh</code> In my case this was 2.6.16&nbsp;(Tiger).</li> <li>Extract the source code and cd to the python sub-directory of the source&nbsp;tree.</li> <li> Execute <code>python setup.py install</code></li> </ol> </blockquote></p> <p>Kevin Watters has a worrying report about renaming the dylibs on&nbsp;Leopard:</p> <blockquote> <p>In your notes about libxml2 you mention that it might be useful to rename the dylibs in <code>/usr/lib</code></p> <p>Just wanted to let you know that this broke my Leopard! Lots of apps fail, since C Foundation.Framework is dependent on libxml2, apparently. I had to boot into single user mode to fix it&nbsp;:)</p> </blockquote> Thoughts on the GPLJames Clarke2003-11-06T00:00:00Z2003-11-06T00:00:00Zhttp://jamesclarke.net/notes/gpl <p>Just some random thoughts while reading through <a href="http://www.amazon.co.uk/exec/obidos/ASIN/1882114981/ref=sr_aps_books_1_1/026-6174908-2918802">Free Software, Free Society</a>. Covering the <span class="caps">GPL</span> with web-services and unofficial distribution of <span class="caps">GPL</span>&nbsp;software.</p> <h3>Web-services and the&nbsp;<span class="caps">GPL</span></h3> <p>How does the <a href="http://www.gnu.org/licenses/licenses.html#TOCGPL"><span class="caps">GNU</span> General Public License</a> (<span class="caps">GPL</span>) apply to an application that runs as a&nbsp;web-service?</p> <p>Here the program running the web-service may never be released to the public and thus never distributed. The source code would never have to be released even though depended on <span class="caps">GPL</span>&#8217;d libraries or code. This is because the users of the system are not downloading the software, they are merely interacting with it via an&nbsp;<span class="caps">API</span>.</p> <p>This allows companies or people to develop web-services using libraries that are available under the <span class="caps">GPL</span> without ever having to release the source code for their web-service&nbsp;software.</p> <h3>The&nbsp;Solution?</h3> <p>After a bit of research it looks like this has been thought of before. The <a href="http://www.affero.org/oagpl.html">Affero General Public License</a> (<span class="caps">AGPL</span>) is basically a modified version of the <span class="caps">GPL</span> that includes the use of software over a computer network. Also from their <a href="http://www.affero.org/oagf.html"><span class="caps">FAQ</span></a> it suggests that the next version of the <span class="caps">GPL</span> (version 3) will include this&nbsp;provision.</p> <p>This still raises a few questions, when the GPLv3 is released, what will happen to software released under the GPLv2? Will all the current software that is licensed under GPLv2 be available under GPLv2 and GPLv3? As I understand you cannot revoke a <span class="caps">GPL</span> license, therefore people will still be able to develop web-services that depend on versions of libraries that have been released under GPLv2, even though the latest versions are now under&nbsp;GPLv3.</p> <h3>The <span class="caps">GPL</span> and Unofficial&nbsp;Distribution</h3> <p>How does the <span class="caps">GPL</span> deal with an unofficial release of software? If I create a piece of software that depends on some <span class="caps">GPL</span> code or library, therefore binding my software to the <span class="caps">GPL</span>. What happens if someone illegally obtains my software and distributes it? Is it possible to force the recall of the software and all code, or am I stuck with it now being &#8216;out in the wild&#8217; for anyone to use or modify and&nbsp;redistribute?</p> Java FEC ExampleJames Clarke2003-10-27T00:00:00Z2003-10-27T00:00:00Zhttp://jamesclarke.net/notes/javafec <p>I&#8217;ve written an example on using the Java <span class="caps">FEC</span> Library by Onion Networks. This had been on my <span class="caps">TODO</span> list for quite awhile, since I had trouble using the library during development of <a href="/projects/msync">MSync</a>.</p> <p>When I was doing work on my multicast rsync application, <a href="/projects/msync">MSync</a>, I was having trouble understanding and using the <a href="http://onionnetworks.com/developers/index.php">Java <span class="caps">FEC</span> Library</a> from Onion Networks. I gather that other people may be suffering from the lack of examples available on the Internet, so I&#8217;ve created&nbsp;one.</p> <h3>Code</h3> <p>My Java <span class="caps">FEC</span> example is commented and demonstrates how to encode a byte array and decode it again from a subset of the encoded data. It should be quite simple to adapt the code to encode a file and transmit it over&nbsp;<span class="caps">UDP</span>.</p> <p>Please note I am in no way affiliated with Onion Networks, nor had any part in writing the Java <span class="caps">FEC</span> library. If you are interested in how forward error correction works you should read <a href="http://citeseer.nj.nec.com/rizzo97effective.html">Effective erasure codes for reliable computer communication protocols</a> by Luigi&nbsp;Rizzo.</p> <h3>Running</h3> <p>Place all the jars from the Java <span class="caps">FEC</span> Library and <code>fec.properties</code> into <code>lib/</code>. The properties file tells the library to use pure codes rather than native&nbsp;codes.</p> <pre><code>$ export FEC_CP=.:lib/concurrent-jaxed.jar:lib/log4j.jar:lib/onion-common.jar:lib/onion-fec.jar $ javac -classpath $FEC_CP JavaFecExample.java $ java -classpath $FEC_CP JavaFecExample Source and Received Files are equal! </code></pre> <p>The code is avialble at <a href="http://github.com/jc/javafec-example">javafec-example on GitHub</a>.</p> Fixing large fonts in GTK applicationsJames Clarke2003-06-22T00:00:00Z2003-06-22T00:00:00Zhttp://jamesclarke.net/notes/gtkfonts <p>Information on how to fix the problem of large fonts being used for <span class="caps">GTK</span>+ applications within <span class="caps">KDE</span> by making applications use Bitstream Vera&nbsp;fonts.</p> <p>I find it annoying that there are so many issues with font configuration within linux. Today I fixed the problem of large fonts being used for <span class="caps">GTK</span>+ applications within <span class="caps">KDE</span>. I am using the <a href="http://www.gnome.org/fonts/" title="Bitstream Vera">Bitstream Vera fonts</a> from <a href="http://www.gnome.org" title="Gnome">Gnome</a> as my default font in <span class="caps">KDE</span>. The fix involved creating and editing both my <code>~/.gtkrc</code> and <code>~/.gtkrc-2.0</code> files.</p> <p>.gtkrc looks as follows: <pre><code>style "user-font" { font="-bitstream-bitstream vera sans-medium-r-normal-<em>-</em>-80-<em>-</em>-p-<em>-iso8859-15" } widget_class "</em>" style "user-font" </code></pre> And .gtkrc-2.0: <pre><code>style "user-font" { font_name = "Bitstream Vera Sans 8" } widget_class "*" style "user-font" </code></pre> All applications should now be using Bitstream Vera Sans 8 for menus&nbsp;etc.</p> Generating EPS files from JPEGsJames Clarke2003-02-18T18:40:28Z2003-02-18T18:40:28Zhttp://jamesclarke.net/notes/eps <p>How to create Encapsulated Postscript (eps) files from jpeg (.jpg) images and include them within a <a href="http://www.latex.com" title="LaTeX">LaTeX</a>&nbsp;document.</p> <p><a href="http://www.pdflib.com/products/more/jpeg2ps.html" title="jpeg2ps">jpeg2ps</a> is a nice little utility that converts jpegs to eps files (surprisingly enough). This is very handy for people on Windows platforms that need to create Encapsulated Postscript (eps) files with bounding boxes from jpeg images. The generated eps file can be inserted into <a href="http://www.latex.com" title="LaTeX">LaTeX</a> documents&nbsp;easily.</p> <p>The utility is easy to use: <pre><code>$ jpeg2ps sample.jpg &gt; sample.eps </code></pre> is all that is required to convert the&nbsp;jpeg.</p> <p>To place the resulting eps into a LaTeX&nbsp;document:</p> <pre><code>begin{figure}[hbp] begin{center} includegraphics[width=0.5textwidth]{sample} caption{This is some image} end{center} end{figure} </code></pre> <p>This, of course, relies on the graphicx package being loaded. This is done in the preamble&nbsp;using:</p> <pre><code>usepackage[dvips]{graphicx} </code></pre> <p>Using jpeg2ps was the best method I found for inserting images/figures/graphics into LaTeX documents under Windows. Using other methods, such as epstool, generated bounding box errors when compiling the LaTeX&nbsp;document.</p> <h3>Update&nbsp;2003-11-18</h3> <p>Since switching to Mac <span class="caps">OS</span> X I have been using the unix version of jpeg2ps. It compiles fine under <span class="caps">OS</span> X. Simply download the unix version and&nbsp;do:</p> <pre><code>$ make $ sudo make install </code></pre> Replacement Graphics Card (VGA) fanJames Clarke2003-01-07T19:45:04Z2003-01-07T19:45:04Zhttp://jamesclarke.net/notes/vgafan <h3>Information on replacing the fan on an <span class="caps">ASUS</span> V7700 Geforce 2&nbsp;<span class="caps">GTS</span></h3> <p>My computer has hard locked several over the week and even, on the odd occasion, refused to <span class="caps">POST</span>. I put this down to my graphics card (<span class="caps">ASUS</span> V7700 <span class="caps">GF2</span> <span class="caps">GTS</span>) overheating, since the fan has been making some very unhealthy noises in the past few&nbsp;weeks.</p> <p>While Googling about replacement fans, I discovered that <span class="caps">ASUS</span> aren&#8217;t rated very high when it comes to their fans and that getting them to replace a fan is not the best choice, since it is likely to break again. You can however buy third party replacement fans such as<a href="http://www.thermaltake.com" title="Thermaltake"> Thermaltake&#8217;s</a> <a href="http://www.thermaltake.com/products/chipset/crystalOrb.htm" title="Crystal Orb">Crystal Orb</a>. I managed to get one from<a href="http://www.extremecooling.co.uk" title="Extreme Cooling"> Extreme Cooling</a>. It was easy to fit and is only slightly noisier than the standard <span class="caps">ASUS</span>&nbsp;fan.</p>