<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<!-- www.matthewwest.co.uk                                              -->
<!-- Layout $LastChangedDate:: 2007-05-12 08:36:32 -0700 (Sat, 12 May#$ -->
<!-- Layout $Revision:: 134                                           $ -->
<!-- Copyright (C) 2005-2007 Matthew West                               -->
  
  <head profile="http://gmpg.org/xfn/11">
    <meta name="title" content="Blog" />
    <meta name="author" content="Matthew West" />
    <title>
      Blog
    </title>
        
    <link href="/stylesheets/site.css?1184434403" media="all" rel="Stylesheet" type="text/css" />
    
    <link href="/stylesheets/print.css?1184459558" media="print" rel="Stylesheet" type="text/css" />
    <link href="/stylesheets/syntax.css?1184434403" media="all" rel="Stylesheet" type="text/css" />
    <link href="/favicon.ico?1167527172" rel="shortcut icon" />
    <style type="text/css">
      
    </style>
          <link href="/email" rel="prev" title="Contact Matthew West" />
      <link href="/professional-experience" rel="first" title="Professional Experience" />
            <link href="http://www.matthewwest.co.uk/" rel="home" title="Index" />
    <link href="#&lt;#&lt;Class:0xb7829edc&gt;:0xb71fb824&gt;" rel="up" title="Matt West's Homepage" />
    <link href="http://www.matthewwest.co.uk/blog/feeds" rel="alternate" title="ATOM" type="application/atom+xml" />
    <link href="http://www.matthewwest.co.uk/blog/feeds/rss2" rel="alternate" title="RSS" type="application/rss+xml" />
  </head>

  <body>
    <div id="bannerhead" >
      <span class="right">www.matthewwest.co.uk</span>
    </div>
     
    <div id="crumbs">
              <a href="/blog/page/1">Blog</a>
                        </div>
    <h1>
      Blog
    </h1>
        
    <div class="sidebarr tag-cloud">
  Tags:<br />
  <a href="http://www.matthewwest.co.uk/tags/Lucky+Soul" style="font-size: 58%;">Lucky Soul</a> <a href="http://www.matthewwest.co.uk/tags/avolites" style="font-size: 48%;">avolites</a> <a href="http://www.matthewwest.co.uk/tags/chamsys" style="font-size: 58%;">chamsys</a> <a href="http://www.matthewwest.co.uk/tags/computing" style="font-size: 77%;">computing</a> <a href="http://www.matthewwest.co.uk/tags/echelon" style="font-size: 82%;">echelon</a> <a href="http://www.matthewwest.co.uk/tags/hog+1000" style="font-size: 48%;">hog 1000</a> <a href="http://www.matthewwest.co.uk/tags/hog+2" style="font-size: 48%;">hog 2</a> <a href="http://www.matthewwest.co.uk/tags/hog+3" style="font-size: 110%;">hog 3</a> <a href="http://www.matthewwest.co.uk/tags/hog+iPc" style="font-size: 110%;">hog iPc</a> <a href="http://www.matthewwest.co.uk/tags/java" style="font-size: 58%;">java</a> <a href="http://www.matthewwest.co.uk/tags/lighting" style="font-size: 150%;">lighting</a> <a href="http://www.matthewwest.co.uk/tags/magicq" style="font-size: 58%;">magicq</a> <a href="http://www.matthewwest.co.uk/tags/music" style="font-size: 48%;">music</a> <a href="http://www.matthewwest.co.uk/tags/pearl+2004" style="font-size: 48%;">pearl 2004</a> <a href="http://www.matthewwest.co.uk/tags/pearl+expert" style="font-size: 48%;">pearl expert</a> <a href="http://www.matthewwest.co.uk/tags/rails" style="font-size: 48%;">rails</a> <a href="http://www.matthewwest.co.uk/tags/ruby" style="font-size: 48%;">ruby</a> <a href="http://www.matthewwest.co.uk/tags/sailing" style="font-size: 133%;">sailing</a> <a href="http://www.matthewwest.co.uk/tags/website" style="font-size: 77%;">website</a> <a href="http://www.matthewwest.co.uk/tags/xhtml" style="font-size: 72%;">xhtml</a> <a href="http://www.matthewwest.co.uk/tags/xml" style="font-size: 58%;">xml</a> <a href="http://www.matthewwest.co.uk/tags/xsl" style="font-size: 65%;">xsl</a> 
</div>

  <div class="pagination"><span class="current">1</span><a href="/blog/page/2">2</a><span class="disabled">&laquo; Previous</span><a href="/blog/page/2">Next &raquo;</a></div>
  <div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2007/9/16/12-find-fixtures-without-thinking" rel="bookmark">Find Fixtures Without Thinking</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/lighting" rel="tag">lighting</a>, <a href="http://www.matthewwest.co.uk/tags/echelon" rel="tag">echelon</a>, <a href="http://www.matthewwest.co.uk/tags/hog+2" rel="tag">hog 2</a>, <a href="http://www.matthewwest.co.uk/tags/hog+1000" rel="tag">hog 1000</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published modified" title="2007-09-16T16:14:00Z">
        10 months ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    <p>This is a good trick I use on the Jands Echelon and the Hog 2 when I don&#8217;t know how a rig&#8217;s been patched.  The problem is to find out where individual lanterns have been plugged in without having to think about it too hard.  To start with I create a group of all dimmer channels, called &#8216;All Dimmers&#8217;.  If I&#8217;m feeling nice I&#8217;ll fade the group up to around 15% for a while to let the fixtures warm up.  Then I&#8217;ll select the group and press <code>&lt;Highlight&gt;</code>.  Next up I&#8217;ll step through the individual lanterns using the <code>&lt;Next&gt;</code> button.  When I find one that&#8217;s a Source 4 I press <code>&lt;@&gt;  &lt;Full&gt;</code>.  Once I&#8217;ve stepped though all the fixtures all the Source 4s are on at full blast.  I then press <code>&lt;Active&gt; &lt;@&gt;  &lt;Full&gt;</code>.  This loads all fixtures at 100% into the programmer.  I can then save a new group called &#8216;All S4s&#8217;.</p>


	<p>Now that I&#8217;ve found all the Source 4&#8217;s, I can then find all the Par Cans, Pin Spots and whatever else is lurking in the rig.  To select the lights I&#8217;ll use <code>'All Dimmers' &lt;-&gt; 'All S4s'</code>.  This selects everything but the Source 4s,  I can then find all the Par Cans and save that as a group....</p>
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2007/9/16/12-find-fixtures-without-thinking" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2007/6/3/11-bush-hall-reviews" rel="bookmark">Bush Hall Reviews</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/Lucky+Soul" rel="tag">Lucky Soul</a>, <a href="http://www.matthewwest.co.uk/tags/lighting" rel="tag">lighting</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published modified" title="2007-06-03T17:24:00Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2007/6/3/11-bush-hall-reviews" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2007/5/25/10-lucky-soul-at-bush-hall" rel="bookmark">Lucky Soul at Bush Hall</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/lighting" rel="tag">lighting</a>, <a href="http://www.matthewwest.co.uk/tags/echelon" rel="tag">echelon</a>, <a href="http://www.matthewwest.co.uk/tags/music" rel="tag">music</a>, <a href="http://www.matthewwest.co.uk/tags/Lucky+Soul" rel="tag">Lucky Soul</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published" title="2007-05-25T16:01:00Z">
        about 1 year ago
      </abbr>
      | Updated
      <abbr class="modified" title="2007-05-27T19:19:49Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    <p><span class="vcard"><a class="url fn org" href="http://www.luckysoul.co.uk">Lucky Soul</a></span> played their biggest headline gig to date at Bush Hall, London on 16th May, 2007.  <span class="vcard"><a class="url fn org" href="http://www.starlight-design.co.uk">Starlight Design</a></span> generously provided 2 Mac 550s, some pealights, an Echelon and various other bits and bobs for me to light them with.  I also used the house rig.</p>


	<p>I didn&#8217;t have time to take any photos, but there are loads on Flickr.  The lighting was very &#8216;photographer friendly&#8217; as the band were hoping for some press interest, which seems to have worked out.  The pealights worked well at the time, as they gave a nice backdrop for the band.  Most of the photos seem to have been taken from the front looking up at the remarkable Bush Hall ceiling which I lit using the Mac 550s.</p>


	<p>Having seen the band in some smaller venues I was interested to see how they&#8217;d cope with something bigger.  With a better PA and a bigger room and audience they seemed to move up a gear and they played a blinder.  The whole show had more kick, and they seemed to grow to fill the space.  Hopefully they&#8217;ll be counting Bush Hall as a small gig soon enough&#8230;...</p>
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2007/5/25/10-lucky-soul-at-bush-hall" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2007/4/15/8-new-website" rel="bookmark">New Website</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/website" rel="tag">website</a>, <a href="http://www.matthewwest.co.uk/tags/computing" rel="tag">computing</a>, <a href="http://www.matthewwest.co.uk/tags/ruby" rel="tag">ruby</a>, <a href="http://www.matthewwest.co.uk/tags/rails" rel="tag">rails</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published modified" title="2007-04-15T12:23:00Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    <p>This website used to be a mix of <span class="caps">PHP</span> scripts and <span class="caps">XHTML</span> files generated by some big, complicated <span class="caps">XSL</span> documents, Java programs and Python scripts, all co-ordinated by an Ant script.  In short it was a mess.  I&#8217;ve replaced the whole lot with a Ruby on Rails application backed by a Postgresql database.  All pages are generated dynamically from the database.  By keeping everything in the database I hope to make backing up a lot simpler.</p>


	<p>The &#8216;static&#8217; pages, such as the <a href="/">index</a> and the <a href="/site-info">site info</a> pages are created using <a href="http://comatose.rubyforge.org/">Comatose</a> while the blog, photos and moving light pages are home grown.  The site relies on a number of other plugins to get stuff done, mixed with an awful lot of my own code.  The blog is home made, after seeing so many examples of how easy it is to make a blog using RoR on the Web I thought I&#8217;d try to do it myself.  IIt turns out that it&#8217;s not quite so straightforward in real life.  I may yet switch over to Mephisto, or something similer.  I still prefer to host my own photos etc, rather than putting them on Flickr or suchlike.  I have a lot more control over how they are laid out and displayed....</p>
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2007/4/15/8-new-website" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2007/4/14/7-patching-the-pearl-expert" rel="bookmark">Patching the Pearl Expert</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/pearl+expert" rel="tag">pearl expert</a>, <a href="http://www.matthewwest.co.uk/tags/avolites" rel="tag">avolites</a>, <a href="http://www.matthewwest.co.uk/tags/lighting" rel="tag">lighting</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published modified" title="2007-04-14T20:18:00Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2007/4/14/7-patching-the-pearl-expert" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2005/2/21/9-xsl-contents" rel="bookmark">XSL Contents</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/xsl" rel="tag">xsl</a>, <a href="http://www.matthewwest.co.uk/tags/xhtml" rel="tag">xhtml</a>, <a href="http://www.matthewwest.co.uk/tags/website" rel="tag">website</a>, <a href="http://www.matthewwest.co.uk/tags/computing" rel="tag">computing</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published" title="2005-02-21T19:06:00Z">
        over 3 years ago
      </abbr>
      | Updated
      <abbr class="modified" title="2007-04-16T02:35:24Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    <p>While I was building this website, I thought it would be nice to put a contents page on pages that have multiple sections, such as this one.  This would allow people to jump directly to the section that they were interested in, as well as providing a summary of the page.  Updating the contents page manually soon became a chore, and I would often forget, or make spelling mistakes that stopped it from working.  What was needed was a way of creating contents pages automatically.  As I was already using <span class="caps">XSLT</span> to create the pages to a standard template it seemed the best way to create the contents list would be to use <span class="caps">XSLT</span>.</p>


	<h3>The Problem</h3>


	<p>What I wanted to do was to take a document that was structured like this&#8230;</p>


<pre class="xml">
<span class="punct">&lt;</span><span class="tag">h3</span><span class="punct">&gt;</span>Heading 1<span class="punct">&lt;/</span><span class="tag">h3</span><span class="punct">&gt;</span>
<span class="punct">&lt;</span><span class="tag">p</span><span class="punct">&gt;</span>Text<span class="punct">&lt;/</span><span class="tag">p</span><span class="punct">&gt;</span>
<span class="punct">&lt;</span><span class="tag">p</span><span class="punct">&gt;</span>More text<span class="punct">&lt;/</span><span class="tag">p</span><span class="punct">&gt;</span>
<span class="punct">&lt;</span><span class="tag">h3</span><span class="punct">&gt;</span>Heading 2<span class="punct">&lt;/</span><span class="tag">h3</span><span class="punct">&gt;</span>
<span class="punct">&lt;</span><span class="tag">p</span><span class="punct">&gt;</span>Text<span class="punct">&lt;/</span><span class="tag">p</span><span class="punct">&gt;</span>
<span class="punct">&lt;</span><span class="tag">p</span><span class="punct">&gt;</span>More text<span class="punct">&lt;/</span><span class="tag">p</span><span class="punct">&gt;</span></pre>

	<p>...and transform it into something like this&#8230;...</p>
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2005/2/21/9-xsl-contents" rel="bookmark">Read more...</a>
      </p>
      </div>
</div><div class="post hentry">
  <h2 class="entry-title"><a href="http://www.matthewwest.co.uk/blog/2002/8/20/2-xml-to-xhtml-transformation" rel="bookmark">XML to XHTML transformation</a></h2>
  <h4 class="tags floatr">
    Tags: <a href="http://www.matthewwest.co.uk/tags/computing" rel="tag">computing</a>, <a href="http://www.matthewwest.co.uk/tags/xml" rel="tag">xml</a>, <a href="http://www.matthewwest.co.uk/tags/xhtml" rel="tag">xhtml</a>, <a href="http://www.matthewwest.co.uk/tags/xsl" rel="tag">xsl</a>, <a href="http://www.matthewwest.co.uk/tags/website" rel="tag">website</a>
  </h4>
  <h4 class="datetime">
          Posted
      <abbr class="published" title="2002-08-20T15:10:00Z">
        over 5 years ago
      </abbr>
      | Updated
      <abbr class="modified" title="2007-04-13T21:31:55Z">
        about 1 year ago
      </abbr>
      </h4>
  <div class="entry-summary">
    
    <p>I created this <span class="caps">XSL</span> document for my old website to display various <span class="caps">XML</span> and <span class="caps">XSL</span> files that I had created.  It effectively adds markup to the document so that the various parts appear in different styles, governed by an external stylesheet.  I have stuck to just changing the colours.  The layout of the document is roughly preserved.  The <code>&lt;?xml ?&gt;</code> line at the beginning is lost, as is the <code>DOCTYPE</code> declaration.  Also lost are any text nodes outside the root element.  These are added in by the stylesheet.  The <span class="caps">XSL1</span> specification does not allow for the creation of &#8216;identity&#8217; templates, as all entites are resolved by the <span class="caps">XML</span> processor before they reach the <span class="caps">XSL</span> template.</p>


	<h3>How It Works</h3>


	<p>The initial template matches the document node.  It first looks for comments, using the <code>prolog</code> mode comment template, which adds a newline after every comment.  Thus any comments at the bottom of the source will appear at the top.  It then selects either the root element, or any processing instructions....</p>
          <p>
        <a href="http://www.matthewwest.co.uk/blog/2002/8/20/2-xml-to-xhtml-transformation" rel="bookmark">Read more...</a>
      </p>
      </div>
</div>


    <div id="footer">
        
      <span class="right vcard">
       <a href="http://www.matthewwest.co.uk/website-information">Copyright &#169; 2002-2007</a>
       <a href="/email/send_email" class="fn" id="mehcardname" title="E-mail me">Matthew West</a>
      </span>
    </div>
    
    
<!-- Menu                                                            -->
<!-- $Rev:: 10#$ $Date:: 2006-12-11 03:28:11 +0000 (Mon, 11 Dec 20#$ -->  
    <div id="menu">
    <ul class="main">
      <li class="page vcard">
        <a href="#mehcardname" class="include"></a>
        <a href="http://www.matthewwest.co.uk/" class="url" rel="me">Index</a>
      </li>
      <li class="menu"><a href="/professional-experience">Professional</a>  <ul class="sub"><li class="page"><a href="/docs/cv.pdf">Resumé</a></li><li class="page"><a href="/professional-experience/earlier-lighting-work">Earlier Work</a></li><li class="page"><a href="/professional-experience/lighting-photos">Portfolio</a></li>  </ul></li><li class="menu"><a href="/lightingdb">Lighting Database</a>  <ul class="sub"><li class="menu"><a href="/lightingdb/showmanufacturer/Clay Paky">Clay Paky</a>  <ul class="sub"><li class="section"><a href="/lightingdb/showlantern/Clay Paky/Golden Scan HPE">Golden Scan HPE</a></li><li class="section"><a href="/lightingdb/showlantern/Clay Paky/MiniScan">MiniScan</a></li>  </ul></li><li class="menu"><a href="/lightingdb/showmanufacturer/High End">High End</a>  <ul class="sub"><li class="section"><a href="/lightingdb/showlantern/High End/Studio Spot 575">Studio Spot 575</a></li>  </ul></li><li class="menu"><a href="/lightingdb/showmanufacturer/Martin">Martin</a>  <ul class="sub"><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 600E">Mac 600E</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 2000 Wash">Mac 2000 Wash</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 500">Mac 500</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 250">Mac 250</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 2000 Profile">Mac 2000 Profile</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 500E">Mac 500E</a></li><li class="section"><a href="/lightingdb/showlantern/Martin/Mac 550">Mac 550</a></li><li class="page">...</li>  </ul></li>  </ul></li><li class="menu"><a href="/photos">Photos</a>  <ul class="sub"><li class="page"><a href="/photos/all">See them all</a></li><li class="menu"><a href="/photos/holidays">Holidays</a>  <ul class="sub"><li class="page"><a href="/photos/holidays/lofoten-islands">Lofoten</a></li><li class="section"><a href="/photos/holidays/eastern-europe">Eastern Europe</a></li><li class="page"><a href="/photos/holidays/cornwall-break">Cornwall Break</a></li><li class="page"><a href="/photos/holidays/cornish-sailing">Cornish Sailing</a></li>  </ul></li><li class="menu"><a href="/photos/lighting-photos">Lighting Photos</a>  <ul class="sub"><li class="page"><a href="/photos/lighting-photos/hampton-court">Hampton Court</a></li><li class="page"><a href="/photos/lighting-photos/dreamgirls">Dreamgirls</a></li>  </ul></li><li class="menu"><a href="/photos/misc">Other photos</a>  <ul class="sub"><li class="page"><a href="/photos/misc/bristol">Bristol</a></li><li class="page"><a href="/photos/misc/portsmouth">Portsmouth</a></li><li class="page"><a href="/photos/misc/oakley">Oakley</a></li><li class="page"><a href="/photos/misc/kingston">Kingston</a></li><li class="page"><a href="/photos/misc/cats-in-portugal">Cats</a></li>  </ul></li>  </ul></li><li class="page"><a href="/blog">Blog</a></li><li class="page"><a href="/links">Links</a></li><li class="page"><a href="/site-info">Site Info</a></li><li class="page"><a href="/email">Contact Me</a></li><li class="page">Blog</li>
      <li class="google">
        <form action="http://www.google.com/custom" method="get">
     	  <div>
	        <a href="http://www.google.com/search">
  	          <img alt="Google" width="128" height="53" src="/images/google40.png" />
	        </a>
	        <input class="text" value="" maxlength="255" size="12" name="q" type="text" /><br />
	        <div>
	          <input value="" name="sitesearch" type="radio" />
	          All WWW<br />
	          <input checked="checked" value="www.matthewwest.co.uk" name="sitesearch" type="radio" />
	          This site only<br />
	        </div>
	        <input type="hidden" name="cof"
		           value="S:http://www.matthewwest.co.uk;GL:0;VLC:#3333ff;AH:left;LH:80;LC:#3333ff;L:http://www.matthewwest.co.uk/images/h80google.png;ALC:#3333ff;BIMG:http://www.matthewwest.co.uk/images/beams.png;LW:1165;AWFID:ab0c1f8918996ca6;"
		           />
	        <input value="www.matthewwest.co.uk" name="domains" type="hidden" />
	        <input value="Search" name="sa" type="submit" />
	      </div>
        </form>
      </li>
    </ul>
        <script type="text/javascript" src="http://embed.technorati.com/embed/hi6ybdyt32.js"> </script>
  </div>

  </body>
</html>