tag:dx13.co.uk:indexdx13 Recent Posts2010-03-10T09:42:50tag:dx13.co.uk:Post:aglkeDEzLWJsb2dyDAsSBFBvc3QYuZECDA2010-03-10T09:42:502010-03-10T09:42:50Link: Harmony - Procedural drawing tool <p><a href="http://mrdoob.com/lab/javascript/harmony/">Harmony – Procedural drawing tool</a></p>
<p>A quirky, wonderful drawing program. This is just my playing with the brushes, but even so I find the interplay of form just magical.</p>
<p><a href="http://www.flickr.com/photos/mikeisgoing/4422222356/" title="Harmony by mikeisgoing, on Flickr"><img src="http://farm3.static.flickr.com/2767/4422222356_3e20a165eb.jpg" width="500" height="405" alt="Harmony" style="padding: 5px; border-color: #ccc;" /></a></p>
<p>It’s written using JavaScript and Canvas, so you’ll need a non-IE browser to play along.</p>
Mike Rhodestag:dx13.co.uk:Post:aglkeDEzLWJsb2dyDAsSBFBvc3QY6YECDA2010-03-01T14:17:002010-03-01T14:17:00Link: Streams of Content, Limited Attention <p><a href="http://uxmag.com/features/streams-of-content-limited-attention">Streams of Content, Limited Attention</a></p>
<p>From danah boyd, a thoughtful, engrossing piece about how the spread of the means to produce and publish could, perhaps counter-intuitively, make the world more insular and clique-ridden.</p>
<blockquote>
<p>In an era of networked media, we need to recognize that networks are homophilous and operate accordingly. Technology does not inherently disintegrate social divisions. In fact, more often then not, in reinforces them. Only a small percentage of people are inclined to seek out opinions and ideas from cultures other than their own. These people are and should be highly valued in society, but just because people can be what Ethan Zuckerman calls âxenophilesâ doesnât mean they will be.</p>
</blockquote>
<p>One possible use for the research into auto-summarisation and related-content-finding tools could be to bring conflicting (balancing?) views into one’s information stream. For those who wish to.</p>
Mike Rhodestag:dx13.co.uk:Post:Syncing-a-media-PC-with-simple-tools2010-02-17T21:54:592010-02-17T22:09:54Syncing a media PC with simple tools <p>This is a guide to creating a setup which keeps a master copy of media stored on your laptop in sync with a media computer using NAS-based storage. This guide deals with Macs, but I expect it would be easy to adapt. Indeed, I post this more for inspiration rather than concrete instructions.</p>
<p>I have a Media mac attached to my TV to play music, movies and iPlayer. It runs Plex, which allows you to scan a folder into it’s music and movie libraries. The catch: Plex needs to be restarted to pick up new files and add them into its library. The Media mac always runs as the “mediacentre” user.</p>
<p>The Media mac is attached to a <a href="http://www.drobo.com/Products/drobo.html">Drobo</a> disk. This disk is where the media it displays are stored. The Drobo is network attached, so it’s accessible from other computers in the house.</p>
<p>This is where the Master mac comes in. It’s where I rip and buy music and films. It’s Master because it holds the master copy of my media. The master copy is stored on the Master’s local disk, but the Master does mount the drobo disk at <code>/Volumes/Drobo</code>.</p>
<p>So what I want is for the Media computer to automatically pick up the changes to the Master’s media folder, so I can watch and listen on the TV. With all the moving parts, this isn’t suited to an off-the-shelf solution. Here’s a diagram of the links in the system.</p>
<p><a href="http://www.flickr.com/photos/mikeisgoing/4365177457/" title="Media PC network setup by mikeisgoing, on Flickr"><img style="border: none;" src="http://farm5.static.flickr.com/4060/4365177457_353f7d7c40_o.jpg" width="592" height="480" alt="Media PC network setup" /></a></p>
<p>My solution lies in combining small tools together; the Unix Way. We want to be able to execute the following workflow:</p>
<ol>
<li>Use <a href="http://en.wikipedia.org/wiki/Wake-on-LAN">Wake on Lan</a> to make sure the Media computer is awake.</li>
<li>Use rsync to mirror the files from the Master to the Drobo.</li>
<li>Execute a remote AppleScript app to restart Plex on the Media computer. This causes Plex to re-scan its media library from the updated Drobo.</li>
</ol>
<p>Conceptually pretty simple, but there are several settings changes we need to make first. The workflow can be done with a simple shell script and AppleScript combo. We’ll see what the script ends up looking like later, but first we need to set up the computers involved.</p>
<h3>Enable Wake on <span class="caps">LAN</span></h3>
<p>This step is simple. First download <code>wol.py</code> from <a href="http://code.activestate.com/recipes/358449/">here</a> to the Master. I put it at <code>~/bin/wol.py</code>. This script implements Wake on <span class="caps">LAN</span> in python.</p>
<p>Next, you need to find out the Media computer’s <span class="caps">MAC</span> address to plug into <code>wol.py</code>, so it wakes up the correct computer:</p>
<ol>
<li>Open <strong>System Preferences</strong> on the <strong>Media</strong> computer.</li>
<li>Click <strong>Network</strong> in the third row (on Snow Leopard, at least).</li>
<li>Click <strong>Ethernet</strong> on the left.</li>
<li>Click the <strong>Advanced</strong> button.</li>
<li>Click the <strong>Ethernet</strong> tab. The <span class="caps">MAC</span> address is labeled <strong>Ethernet ID</strong>.</li>
</ol>
<p>Open <code>wol.py</code> on the Master and remove the current <code>wake_on_lan</code> calls and add one with the Media computer’s <span class="caps">MAC</span> address. Double check you’ve used the Media computer’s <span class="caps">MAC</span> address!</p>
<p>Finally for this stage, you need to make sure Wake on <span class="caps">LAN</span> is enabled on the Media computer. Open <strong>System Preferences</strong> and go to <strong>Energy Saver</strong> on the <strong>Media</strong> computer. Then either:</p>
<ul>
<li>Snow Leopard: Click <strong>Power Adaptor</strong> -> Check “Wake for network access”.</li>
<li>Leopard: Click <strong>Advanced</strong> -> Check “Wake for network administrator access”.</li>
</ul>
<h3>Activate <span class="caps">SSH</span> server on Media and configure password-less connections</h3>
<p>To restart Plex, we need to be able to <span class="caps">SSH</span> into the Media computer. Turn on the <span class="caps">SSH</span> server by:</p>
<ol>
<li>Open <strong>System Preferences</strong> on the <strong>Media</strong> computer.</li>
<li>Open <strong>Sharing</strong>.</li>
<li>Check <strong>Remote Login</strong>.</li>
</ol>
<p>Take a note of the computer name at the top of the Sharing preference pane. Then try to connect in the terminal:</p>
<pre>$ ssh mediacentre@macbook.local</pre>
<p>You should be prompted for your password, then see the home directory of the Media computer. Type <code>exit</code> and hit return to close the connection.</p>
<p>Once you’re this far, it’s quite easy to set up password-less <span class="caps">SSH</span> using key-pairs. Try the following tutorial <a href="http://sial.org/howto/openssh/publickey-auth/">here</a>.</p>
<h3>Create an AppleScript to restart Plex.</h3>
<p>The next step is to create an AppleScript to restart Plex on the Media computer. This will be executed from the Master over <span class="caps">SSH</span>, using the connection we just set up.</p>
<p>The AppleScript to restart Plex is quite simple:</p>
<pre>tell application "Plex" to quit
delay 10
ignoring application responses
tell application "Plex" to open
tell application "Plex" to activate
end ignoring</pre>
<p>Enter this into the AppleScript Editor (find it via Spotlight) and save it as an application on your Media computer. Make a note of where you save the AppleScript, you’ll need it later. I put it in <code>/Users/mediacentre/bin/restart-plex.app</code>.</p>
<p>Plex seems to throw an error when it’s opened from AppleScript, so we ignore its responses.</p>
<h3>Plex Setup</h3>
<p>You need to set up Plex with a media library from the folder on your shared storage, and use Preferences -> Music -> Music Library -> Rescan on startup. This makes sure Plex will update the library when restarted using our AppleScript.</p>
<p>Unfortunately I can’t dig out a tutorial on this for now, so you’re on your own for this step.</p>
<h3>One shell script to bind them</h3>
<p>Now everything is set up, the shell script to bring it together is quite simple. This goes on the Master computer:</p>
<pre>#!/bin/sh
python ~/bin/wol.py
sleep 3
rsync -ahv --progress ~/Music/iTunes/iTunes\ Music/ /Volumes/Drobo/music/iTunes\ Media
sleep 1
ssh mediacentre@macbook.local 'open /Users/mediacentre/bin/restart-plex.app'
</pre>
<p>Correct the various paths, usernames and hostnames in the script.</p>
<p>You can see the steps of the workflow about, one command per step. First, we wake up the Media computer, then rsync the media and finally restart Plex.</p>
<h3>And finally, Hazel</h3>
<p>I didn’t mention this to start with as <a href="http://www.noodlesoft.com/hazel.php">Hazel</a> isn’t a free tool. It is, however, one of the easier ways to automatically run the sync script when media is added to the Master computer. You can set up a simple rule for the media folder:</p>
<p><a href="http://www.flickr.com/photos/mikeisgoing/4365645891/" title="Hazel auto-run sync script by mikeisgoing, on Flickr"><img style="border: none;" src="http://farm5.static.flickr.com/4005/4365645891_8e5e636472_o.jpg" width="682" height="371" alt="Hazel auto-run sync script" /></a></p>
<p>That is, when there’s a new folder, which is over ten minutes old to give the album time to rip/download, call the media2drobo script and pop up a notification in Growl to tell me what’s happened.</p>
<p>All quite neat overall. It seems stable in testing, but only a few months of real world use will prove it’s robustness.</p>
Mike Rhodestag:dx13.co.uk:Post:aglkeDEzLWJsb2dyDAsSBFBvc3QYseoBDA2010-02-15T11:02:002010-02-15T11:02:00Link: An Indictment Against Ourselves <p><a href="http://seansperte.com/entry/an_indictment_against_ourselves/">An Indictment Against Ourselves</a></p>
<p>Sean Sperte collects two articles about “how we geeks have used complex technology that we understand but the common man doesnât to ensure our value in the world”: first, an article saying we do and we shouldn’t; second, an almost satirical article proving the point.</p>
Mike Rhodestag:dx13.co.uk:Post:A-new-way-with-browser-tabs2010-02-08T20:50:532010-02-08T20:51:13A new way with browser tabs <p>When I got my first MacBook a few years ago, I opened Safari and didn’t look back. It’s slick, fast, fits the OS like a glove and renders websites well. So why am I now back with Firefox? Two things: Tree Style Tab and the awesome bar.</p>
<p>The awesome bar <a href="http://www.dx13.co.uk/articles/2008/01/20/The-Best-Feature-of-the-Upcoming-Firefox-3.html">I’ve spoken of before</a>, and it’s still just as great, so lets talk about Tree Style Tab.</p>
<p>First, a little bit about how I use a browser. I’m a bit of a tab addict. Before tree style tab, I would group my tabs into different windows. Each window would have a group or two of related tabs. A Twitter tab and a few links opened from tweets. A newspaper’s homepage and several stories open. The website I’m designing and several sites full of reference material. The tabs often stay open for days or weeks before I get around to reading them. It soon adds up to several windows containing several tabs. The total number of tabs spirals.</p>
<p>Back to <a href="https://addons.mozilla.org/en-US/firefox/addon/5890">Tree Style Tab</a>. It’s an extension which allows you to open your tabs in a hierarchical tree view rather than in a single-level strip along the top of your browser. I have the tree on the left. A vertical tab bar allows many more tabs in a single window. With the collapsible tree structure, even more fit. And, boy, as we’ve seen, do I love having tabs open. It should be becoming clear why tree style tabs fit me much better than the usual bar.</p>
<p><a href="http://www.flickr.com/photos/mikeisgoing/4341813052/" title="Mozilla Firefox tree style tabs by mikeisgoing, on Flickr"><img style="border: 0;" src="http://farm5.static.flickr.com/4022/4341813052_e4ed69a02e_o.jpg" width="515" height="318" alt="Mozilla Firefox tree style tabs" /></a></p>
<p>Tree Style Tabs allows me to keep all my tabs in one window. Many windows all start to look the same after a surprisingly short time and it becomes hard to manage them all. Put the tabs in a tree, where I can collapse tabs to a recognisable title, and all of a sudden things are far more manageable. The tens of tabs I end up with are now neatly stacked down the side of a single Firefox window. When I open Firefox they are all there in front of me and I don’t have to scramble around for the correct window. It’s brought a much needed dose of calm to my desktop.</p>
<p>I also use the <a href="https://addons.mozilla.org/en-US/firefox/addon/58998">SidebarStyleTab</a> extension, which allows me to squeeze even more tabs in comfortably by morphing the tabs into an OS X styled sidebar rather than vertical tabs with the attendant wasted space that entails.</p>
<p>Finally, I discovered <a href="https://addons.mozilla.org/en-US/firefox/addon/67651">BarTap</a> today, written by the same person as SidebarStyleTab. BarTap is a very simple, yet clever idea. When you have many tabs open—at work fifty-plus isn’t unusual—it takes rather a long time to restart Firefox. BarTap fixes this in an unusual way:</p>
<blockquote>BarTap intercepts when a tab is loaded in the background (e.g. after a browser restart) and will only load the content when the tab is
actually visited.</blockquote>
<p>It’s a great idea, and one that seems to work surprisingly well. The extension uses the Firefox history service to show the titles of the unloaded tabs, so the tabs are not stuck showing the <span class="caps">URL</span>. The overall effect is that Firefox takes just a few seconds to open, rather than up to a minute while several dozen pages load in the background. It also prevents the dozen authentication dialog boxes which pop up from the various Zope admin instances I currently have open.</p>
<p>Even with all these addons, obviously it’s not a complete solution. Firefox is just one application. Building websites requires many tools, so there are still many windows spread across my desktop, stacked on top of each other like so many dropped cards. But at least the windows of different applications look different, which my Firefox windows never seemed to. So it’s a step in the right direction.</p>Mike Rhodes