<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kisekae World</title>
	<atom:link href="http://www.wmiles.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.wmiles.com</link>
	<description>An innovation by William Miles</description>
	<lastBuildDate>Tue, 31 Jan 2012 23:50:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>PKking Nine Balances &#8211; Nie Long</title>
		<link>http://www.wmiles.com/2012/01/pkking-nine-balances-nie-long?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pkking-nine-balances-nie-long</link>
		<comments>http://www.wmiles.com/2012/01/pkking-nine-balances-nie-long#comments</comments>
		<pubDate>Sat, 28 Jan 2012 21:11:19 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Figures and Anime]]></category>
		<category><![CDATA[Nie Long]]></category>
		<category><![CDATA[PKking]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2645</guid>
		<description><![CDATA[<p>In addition to PKking&#8217;s new pictures for his Wu Yan sculpt, he also released new color pictures for his Nie Long work. At the moment I have no plans to acquire this work, but I do want to share this with you. PKking&#8217;s work is exceptional.</p> <p>To view the sculptor&#8217;s work see PKking&#8217;s website. [...]]]></description>
			<content:encoded><![CDATA[<p>In addition to PKking&#8217;s new pictures for his <a href="http://www.wmiles.com/2012/01/pkking-nine-balances-wu-yan-2" title="PKking Wu Yan">Wu Yan</a> sculpt, he also released new color pictures for his Nie Long work.  At the moment I have no plans to acquire this work, but I do want to share this with you.  PKking&#8217;s work is exceptional.</p>
<p>To view the sculptor&#8217;s work see <a href="http://www.wretch.cc/album/pkking636178" title="PKking's website" target="_blank">PKking&#8217;s website</a>.  Or, take a look at the pictures that I have on hand here in the <a href="http://www.wmiles.com/v/resinbuild" title="Gallery">Gallery</a>.  Send me a <a href="http://www.wmiles.com/contact" title="Contact">note</a> if you want contact information to order his work.  Pictures are posted with permission.</p>
<p>&nbsp;</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1200998-複製1-492x600.jpg" alt="" title="P1200998 複製" width="492" height="600" class="aligncenter size-large wp-image-2654" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1210016-複製-450x600.jpg" alt="" title="P1210016 複製" width="450" height="600" class="aligncenter size-large wp-image-2655" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1210027-複製-450x600.jpg" alt="" title="P1210027 複製" width="450" height="600" class="aligncenter size-large wp-image-2652" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1210021-複製-600x450.jpg" alt="" title="P1210021 複製" width="600" height="450" class="aligncenter size-large wp-image-2651" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1210041-複製-600x450.jpg" alt="" title="P1210041 複製" width="600" height="450" class="aligncenter size-large wp-image-2656" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1200959-複製-450x600.jpg" alt="" title="P1200959 複製" width="450" height="600" class="aligncenter size-large wp-image-2646" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1200961-複製-450x600.jpg" alt="" title="P1200961 複製" width="450" height="600" class="aligncenter size-large wp-image-2647" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1200962-複製-450x600.jpg" alt="" title="P1200962 複製" width="450" height="600" class="aligncenter size-large wp-image-2648" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2012/01/pkking-nine-balances-nie-long/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/P1210016-複製-112x150.jpg" length="5948" type="image/jpg" />	</item>
		<item>
		<title>SOPA and PIPA Thoughts</title>
		<link>http://www.wmiles.com/2012/01/sopa-and-pipa-thoughts?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sopa-and-pipa-thoughts</link>
		<comments>http://www.wmiles.com/2012/01/sopa-and-pipa-thoughts#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:30:23 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Personal Essays]]></category>
		<category><![CDATA[pipa]]></category>
		<category><![CDATA[sopa]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2617</guid>
		<description><![CDATA[<p>January 18, 2012, is a worldwide protest against two copyright and intellectual property acts before the American Congress. One act is SOPA (Stop Onine Piracy Act) and the other is PIPA (Protect IP Act). These acts seek to place restrictions on websites that copy and redistribute various copyright material and other documents that are [...]]]></description>
			<content:encoded><![CDATA[<p>January 18, 2012, is a worldwide protest against two copyright and intellectual property acts before the American Congress.  One act is SOPA (Stop Onine Piracy Act) and the other is PIPA (Protect IP Act).  These acts seek to place restrictions on websites that copy and redistribute various copyright material and other documents that are posted online.  It has been said that these bills put the burden on website owners to police user-contributed material and call for the unnecessary blocking of entire sites. </p>
<p>Wikipedia, Google, WordPress, and many other global sites that offer services in this space are concerned that these bills will constrain or control the freedom to innovate and post material on the Internet.  They are asking for people in the US to write their congressman and oppose these bills.</p>
<p>I am of a mixed mind.  On one side I agree that this sort of legislation does change the freedom of the Internet and can limit innovation and creativity.  On the other hand, those who create content and other products deserve to receive fair value for their work.  The copyright problem does need to be addressed.  Work is not free just because it was produced and published and made available to consumers or put on the Internet.</p>
<p>I am careful that almost all material posted on Kisekae World is my own work, or I have permission to copy and post other people&#8217;s work on my site.  I do access or link to other people&#8217;s work on YouTube and elsewhere.  I do hyperlink to other sites.  I do share my work and support the free exchange of information and content.  I do benefit from other people&#8217;s work.</p>
<p>But, I don&#8217;t necessarily agree that music is free to share to all, or that movies should be free, or that software should be free.  I do think that if you post your work publicly then you do allow people to view and access your work and use it in derivative work with proper attribution.  How you enable this access is your choice.  How you allow derivative use is your choice.  How you get compensated for your work is up to you.  It is up to you to protect your property.  </p>
<p>I create content.  I write software and I create models and I create photographs of my models.  I publish my work on Kisekae World.  As an author and creator I do not want my work used without proper attribution.  But, as a creator I may be in the minority with respect to this protest.  </p>
<p>SOPA and PIPA are perhaps wrong.  The musicians and movie makers and other people who publish works must take action to protect their property.  Others should not have to police this for them.  This legislation may not be the way.  But the copyright problem does need to be addressed.  </p>
<p><em>William Miles</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2012/01/sopa-and-pipa-thoughts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PKking Nine Balances &#8211; Wu Yan (2)</title>
		<link>http://www.wmiles.com/2012/01/pkking-nine-balances-wu-yan-2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pkking-nine-balances-wu-yan-2</link>
		<comments>http://www.wmiles.com/2012/01/pkking-nine-balances-wu-yan-2#comments</comments>
		<pubDate>Sat, 14 Jan 2012 03:00:56 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Figures and Anime]]></category>
		<category><![CDATA[PKking]]></category>
		<category><![CDATA[Wu Yan]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2569</guid>
		<description><![CDATA[<p>PKking has just finished assembling his Wu Yan model and has released some color pictures. His work is truly exceptional and I certainly look forward to building my copy of this model in the next year or two. </p> <p>To view the sculptor&#8217;s work see PKking&#8217;s website. Send me a note if you want [...]]]></description>
			<content:encoded><![CDATA[<p>PKking has just finished assembling his Wu Yan model and has released some color pictures.  His work is truly exceptional and I certainly look forward to building my copy of this model in the next year or two.  </p>
<p>To view the sculptor&#8217;s work see <a href="http://www.wretch.cc/album/pkking636178" title="PKking's website" target="_blank">PKking&#8217;s website</a>. Send me a <a href="http://www.wmiles.com/contact" title="Contact">note</a> if you want contact information to order his work.  Pictures are posted with permission.</p>
<p>&nbsp;</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-01-408x600.jpg" alt="" title="pkking 九天衡-閰武-01" width="408" height="600" class="aligncenter size-large wp-image-2573" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-02-418x600.jpg" alt="" title="pkking 九天衡-閰武-02" width="418" height="600" class="aligncenter size-large wp-image-2574" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-03-413x600.jpg" alt="" title="pkking 九天衡-閰武-03" width="413" height="600" class="aligncenter size-large wp-image-2575" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-04-409x600.jpg" alt="" title="pkking 九天衡-閰武-04" width="409" height="600" class="aligncenter size-large wp-image-2576" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-05-398x600.jpg" alt="" title="pkking 九天衡-閰武-05" width="398" height="600" class="aligncenter size-large wp-image-2577" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-06-398x600.jpg" alt="" title="pkking 九天衡-閰武-06" width="398" height="600" class="aligncenter size-large wp-image-2578" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-07-398x600.jpg" alt="" title="pkking 九天衡-閰武-07" width="398" height="600" class="aligncenter size-large wp-image-2579" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-08-380x600.jpg" alt="" title="pkking 九天衡-閰武-08" width="380" height="600" class="aligncenter size-large wp-image-2580" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-10-398x600.jpg" alt="" title="pkking 九天衡-閰武-10" width="398" height="600" class="aligncenter size-large wp-image-2571" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2012/01/pkking-nine-balances-wu-yan-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2012/01/pkking-九天衡-閰武-11-150x99.jpg" length="8687" type="image/jpg" />	</item>
		<item>
		<title>Hackers or Gremlins</title>
		<link>http://www.wmiles.com/2012/01/hackers-or-gremlins?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hackers-or-gremlins</link>
		<comments>http://www.wmiles.com/2012/01/hackers-or-gremlins#comments</comments>
		<pubDate>Tue, 03 Jan 2012 00:08:16 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Website Customization]]></category>
		<category><![CDATA[Gallery2]]></category>
		<category><![CDATA[Gallery3]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2540</guid>
		<description><![CDATA[<p>Happy New Year! Well, 2012 has begun with a bang. Shortly after noon on January 2 all my Gallery 2 data was trashed unexpectedly. Now, this is either hackers, or someone doing something on my hosted web service site, or some unseen glitch in the Gallery 2 software. </p> <p>This must be a sign [...]]]></description>
			<content:encoded><![CDATA[<p>Happy New Year!  Well, 2012 has begun with a bang.  Shortly after noon on January 2 all my Gallery 2 data was trashed unexpectedly.  Now, this is either hackers, or someone doing something on my hosted web service site, or some unseen glitch in the Gallery 2 software. </p>
<p>This must be a sign that I need to spend some time to upgrade to Gallery 3.  I has been planning to rebuild my Gallery implementation anyway, so this is not necessarily all bad.  I want to centralize on a standard maximum image size and reload the albumns.  </p>
<p>It&#8217;s time to do this.  Please be patient as this work begins.  Page caching is off for the moment so performance may suffer.</p>
<p>&nbsp;</p>
<p><span style="color: #c00000;">January 3, 2012:</span> Gallery 3 is not installing.  It fails with a 500 server error code attempting to run the install script.  The Apache version on my hosting service is version 2.0.52 and Gallery 3 requires Apache 2.2.  This may be the issue.</p>
<p>Gallery 2 is being reinstalled.  Let&#8217;s just think of this as a major engine overhall.</p>
<p>&nbsp;</p>
<p><span style="color: #c00000;">January 4, 2012:</span> I found this in the Gallery2 security section while doing some research yesterday.</p>
<blockquote><p>A shared webserver that runs all PHP scripts under the same generic user and not under the specific account&#8217;s user can only be secured in a limited way.</p>
<p>Reality check: Most shared webhosting plans fall into the above category and we hear from incidents like a Gallery 2 that was somehow deleted over night only very rarely, maybe once a year. So it isn&#8217;t as bad as it sounds. The chance being on a webhost with a malicious customer should be really small. </p></blockquote>
<p>&nbsp;</p>
<p><span style="color: #c00000;">January 6, 2012:</span> All the China photos, Utah photos, and PKking resin model construction photos are restored.  One benefit of this work is that all images now contain EXIF information and will have consistent display sizes.  One liability of this restoration is that all descriptions and keyword tags for the images have been lost.  I will try to recover descriptive inforormation for the gallery folders.</p>
<p>&nbsp;</p>
<p><span style="color: #c00000;">January 8, 2012:</span> Resin model photographs are being restored.  Please be patient.  </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2012/01/hackers-or-gremlins/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gallery2 MiniSlideShow Performance Cache</title>
		<link>http://www.wmiles.com/2011/12/gallery2-minislideshow-performance-cache?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gallery2-minislideshow-performance-cache</link>
		<comments>http://www.wmiles.com/2011/12/gallery2-minislideshow-performance-cache#comments</comments>
		<pubDate>Thu, 29 Dec 2011 20:25:55 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Website Customization]]></category>
		<category><![CDATA[Gallery2]]></category>
		<category><![CDATA[WPG2]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2469</guid>
		<description><![CDATA[MiniSlideShow is an interesting Flash plugin to display Gallery2 images on your website. One problem with this slide show is that generating an RSS feed takes time. The generation delay impacts the start of the slideshow, particularly if the slideshow is included as a sidebar block on every Gallery page or embedded application page. This can be particularly noticable if the feed contains many images. Each display of a new page results is a new invokation of the slideshow and this results in a new initialization of the RSS feed. One way to mitigate the feed generation performance loss is to cache the generated RSS feed XML text. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flashyourweb.com/staticpages/index.php?page=TheMiniSlideShow" title="MiniSlideSHow" target="_blank">MiniSlideShow</a> is an interesting Flash plugin to display Gallery2 images on your website.  It uses an XML RSS feed to access Gallery2 albums.  It also uses Gallery2 to return the correct size image resolution for embedded slideshows.  MiniSlideShow is being used in the sidebars on Kisekae World.</p>
<p>One problem with this solution is that generating an RSS feed takes time.  The generation delay impacts the start of the slideshow, particularly if the slideshow is included as a sidebar block on every Gallery page or embedded application page.  This can be particularly noticable if the feed contains many images.  Each display of a new page results is a new invokation of the slideshow and this results in a new initialization of the RSS feed.</p>
<p>One way to mitigate the feed generation performance loss is to cache the generated RSS feed XML text.  For example, if the album feed has been previously generated and saved then it can be referenced on a new page load without the overhead of regenerating the RSS feed.  This can provide some performance relief.</p>
<p>Gallery2 provides disk caching services as part of its core module.  I have modified the <code>xml()</code> function in <code>mediaRSS.php</code> distributed with MiniSlideShow to use the Gallery2 cache functions.  The code assumes that a new &#8216;minislideshow&#8217; module has been installed as a Gallery2 module as described further below.  For caching, the Gallery2 itemId is used as the cache key, and each cached RSS text entity will expire after 3600 seconds (1 hour).  All new lines inserted into the function are shown in a different color.</p>
<p>&nbsp;</p>
<h4>mediaRss.php</h4>
<div class="textblock">
<pre>
&lt;?php
// +---------------------------------------------------------------------------+
// |  E2  XML Audio/Video Player/Minislideshow for Gallery2                    |
// +---------------------------------------------------------------------------+
// | mediaRss.php     [v.3.0.0]                                                |
// +---------------------------------------------------------------------------+
// | Copyright (C) 2009 Wayne Patterson [suprsidr@flashyourweb.com]            |
// +---------------------------------------------------------------------------+
// |                                                                           |
// | This program is free software; you can redistribute it and/or             |
// | modify it under the terms of the GNU General Public License               |
// | as published by the Free Software Foundation; either version 2            |
// | of the License, or (at your option) any later version.                    |
// |                                                                           |
// | This program is distributed in the hope that it will be useful,           |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of            |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             |
// | GNU General Public License for more details.                              |
// |                                                                           |
// | You should have received a copy of the GNU General Public License         |
// | along with this program; if not, write to the Free Software Foundation,   |
// | Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.           |
// |                                                                           |
// +---------------------------------------------------------------------------+
//

.
. [snipped code]
.

    function xml() {
	init();
	global $gallery, $userId, $count;

<span style="color: #993300;">
	// Determine cache item
	if (isset ($_REQUEST['g2_itemId'])) {
	    $cacheId = $_REQUEST['g2_itemId'];
	} else if (isset ($_REQUEST['g2_albumId'])) {
	    $cacheId = $_REQUEST['g2_albumId'];
	} else {
		$cacheId = getRoot() ;
	}

	// Retrieve cache item if not expired
	if (isset($cacheId)) {
		$expire = 3600;
		$cacheMsg = "\n";
		$cachePathInfo = array('type' => 'module-data',
			   'module' => 'minislideshow',
			   'itemId' => $cacheId);
		list ($xmltime, $xmldata) =
			GalleryDataCache::getFromDisk($cachePathInfo);
		if (isset($xmltime) &#038;&#038; isset($xmldata)) {
			$vm = $gallery->getPhpVm();
			$cacbeTime = date('U', $vm->time());
			$diff = (int)$cacbeTime - (int)$xmltime;
			$expiretime = (int)$xmltime + $expire;
			if ($diff < $expire) {
				$xmldata .= "\nRetrieved itemId " . $cacheId . " at " . $cacbeTime . " that was cached at " . $xmltime
					. " and will expire at " . $expiretime;
				echo $xmldata;
				return;
			} else {
				$cacheMsg .= "Cache expired, item cached at " . $xmltime . ", current time " . $cacbeTime
					. ", item expired at " . $expiretime . "\n" ;
			}
		} else {
			$cacheMsg .= "Cache not found, itemId " . $cacheId . "\n";
		}
	}
</span>

	$title = '';
	$recursive = '';
	if (!$userId) {
	    $userId = $gallery->getActiveUserId();
	}
	if (!$userId) {
	    list($ret,$userId) = GalleryCoreApi::getAnonymousUserId();
	}
	if (isset ($_REQUEST['mode'])) {
	    $mode = $_REQUEST['mode'];
	}else{
		$mode = '';
	}
	if (isset ($_REQUEST['g2_itemId'])) {
	    $g2_itemId = $_REQUEST['g2_itemId'];
	    list ($ret, $item) = GalleryCoreApi::loadEntitiesById($g2_itemId, 'GalleryAlbumItem');
	    if ($ret) {
	        print "Error loading initial item:" . $ret->getAsHtml();
	    }
	    $title = getTitle($item);
	}else{
	    $title = "Gallery2 MediaRss";
	}
	if (isset ($_REQUEST['g2_view'])) {
	    $g2_view = $_REQUEST['g2_view'];
	}
	if (isset ($_REQUEST['mime'])) {
	    $mime = $_REQUEST['mime'];
	}
	if (isset ($_REQUEST['recursive'])) {
	    $recursive = $_REQUEST['recursive'];
	}
	if(isset ($_REQUEST['limit'])){
		global $limit;
		$limit = $_REQUEST['limit'];
	}
	$xml = '';
	$count = 0;
	$urlGenerator =&#038; $gallery->getUrlGenerator();
	$link = $urlGenerator->generateUrl(array(), array('forceFullUrl' => true));
	$vm = $gallery->getPhpVm();
	list ($ret, $language) = GalleryTranslator::getDefaultLanguageCode( );
	if ($ret) {
	    $language = "en-us";
	}
	if (!$vm->headers_sent()) {
	    $vm->header('Content-Type: application/rss+xml; charset=UTF-8');
	}
	echo "&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n";
	$xml .= "&lt;rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\"&gt;\n";
	$xml .= "    &lt;channel&gt;\n";
	$xml .= "        &lt;title&gt;" . cdata($title) . "&lt;/title&gt;\n";
	$xml .= "        &lt;link&gt;" . $link . "&lt;/link&gt;\n";
	$xml .= "        &lt;description&gt;" . cdata($title) . "&lt;/description&gt;\n";
	$xml .= "        &lt;language&gt;" .$language. "&lt;/language&gt;\n";
	$xml .= "        &lt;generator&gt;FlashYourWeb MediaRSS Generator v3.0.0&lt;/generator&gt;\n";
	$xml .= "        &lt;lastBuildDate&gt;" . date('r', $vm->time()) . "&lt;/lastBuildDate&gt;\n";
	$xml .= "        &lt;ttl&gt;120&lt;/ttl&gt;\n";
	if(isset($g2_itemId)){
		$xml .= getAlbumList ($g2_itemId);
	}else{
		$xml .= getAlbumList (getRoot());
	}
	switch ($mode) {
	    case 'dynamic':
	        switch ($g2_view) {
	            case 'dynamicalbum.UpdatesAlbum':
	                $xml .= getDynamicChildIds($userId);
	            break;
	            case 'dynamicalbum.PopularAlbum':
	                $xml .= getDynamicChildIds($userId, 'views', 'viewCount', ORDER_DESCENDING, 'GalleryItemAttributesMap', 'itemId');
	            break;
	            case 'dynamicalbum.RandomAlbum':
	                $xml .= getDynamicChildIds($userId, 'random', 'random', ORDER_ASCENDING, null, 'id');
	            break;
	            case 'keyalbum.KeywordAlbum':
	            	$xml .= getKeywordChildIds($userId, $g2_keyword=null);
	            break;
	            case 'tags.VirtualAlbum':
	                $xml .= getTagChildIds($userId, $g2_tagName=null);
	            break;
	            default:
	            $xml .= getDynamicChildIds($userId);
	        }
	    break;
	    case 'search':
	        $xml .= getSearchItems($g2_itemId, $mime);
	    break;
	    case 'simple':
	        $xml .= itemListDisplay();
	    break;
	    default:
	        if(isset($g2_itemId) &#038;&#038; $recursive){
	            $xml .= getItemsRecursive ($g2_itemId);
	        }else if(isset($g2_itemId)){
	            $xml .= getItems($g2_itemId);
	        }else{
	            $xml .= getItems(getRoot());
	        }
	}

	$xml .= "    &lt;/channel&gt;\n";
	$xml .= "&lt;/rss&gt;";

<span style="color: #993300;">
	// Cache item for future access
	if (isset($cacheId)) {
		$cachePath = GalleryDataCache::getCachePath($cachePathInfo);
		if (isset($cachePath)) {
			$xmltime = date('U', $vm->time());
			GalleryDataCache::putToDisk($cachePathInfo, $dataToCache = array($xmltime, $xml));
			$xml .= $cacheMsg;
			$xml .= "Cache itemId " . $cacheId . " at " . $xmltime . " to " . $cachePath;
		}
	}
</span>

	echo $xml;
    }
xml();
?&gt;
</pre>
</div>
<p>&nbsp;</p>
<p>For the above solution to work there must be a &#8216;/g2data/cache/module/minislideshow&#8217; directory on your web server.  This is where Gallery2 stores the cached files.  If this directory does not exist or disk caching is not possible then the cache modifications will fail silently.  To determine if caching is functioning you need to examine the source code for the XML feed.  Cache message text is inserted in the document following the RSS directives.  The following three feeds below will show cache information if you use your browser to display the source text.</p>
<ul>
<li><a href="http://www.wmiles.com/gallery2/mediaRss.php?mode=dynamic&#038;g2_view=dynamicalbum.RandomAlbum&#038;g2_albumId=7" title="Kisekae World Gallery RSS Feed" target="_blank">Gallery Feed</a></li>
<li><a href="http://www.wmiles.com/gallery2/mediaRss.php?mode=dynamic&#038;g2_view=dynamicalbum.RandomAlbum&#038;g2_albumId=21930" title="Resin Figure Model Gallery RSS Feed" target="_blank">Resin Figure Model Gallery Feed</a></li>
<li><a href="http://www.wmiles.com/gallery2/mediaRss.php?mode=dynamic&#038;g2_view=dynamicalbum.RandomAlbum&#038;g2_albumId=3576" title="Ruri Hoshino Gallery RSS Feed" target="_blank">Ruri Hoshino Gallery Feed</a></li>
</ul>
<p>Example:</p>
<pre>
Cache expired, item cached at 1325184690, current time 1325189988, item expired at 1325188290
Cache itemId 3576 at 1325189988 to /home/g2data/cache/module/minislideshow/3/5/3576.dat
</pre>
<p>&nbsp;</p>
<h3>Installation</h3>
<p>The MiniSlideShow has been packaged as a rudimentary Gallery2 module so that it can be included in the Gallery2 sidebar block.  Download the <a href="http://www.wmiles.com/js/minislideshow.zip" title="MiniSlideShow Gallery2 Module">MiniSlideShow Gallery2 Module</a> and copy the &#8216;minislideshow&#8217; directory to your Gallery2 modules folder.  </p>
<p>The packaged module doesn&#8217;t install the MiniSlideShow function for you.  It does include the modified &#8216;mediaRSS.php&#8217; file shown above and the required &#8216;minislideshow.swf&#8217; and &#8216;swfobject.js&#8217; files released with MiniSlideShow.  Copy these files to your Gallery2 home directory on your web server.</p>
<p>You need to edit the &#8216;MiniSlideShow.tpl&#8217; block template file found in the &#8216;minislideshow/templates/blocks&#8217; directory.  See below. Change the reference URLs to refer to your Gallery2 URL of your &#8216;mediaRSS.php&#8217; and the &#8216;minislideshow.swf&#8217; files.  You should also ensure that the &#8216;swfobject.js&#8217; file is included in the &lt;head&gt; section of your pages with &lt;script type=&#8221;text/javascript&#8221;&nbsp;src=&#8221;http://www.yoursite.com/swfobject.js&#8221;&gt;&lt;/script&gt;</p>
<p>&nbsp;</p>
<h4>MiniSlideShowBlock.tpl</h4>
<div class="textblock">
<pre>
{*
 * $Revision: 1.5 $
 * If you want to customize this file, do not edit it directly since future upgrades
 * may overwrite it.  Instead, copy it into a new directory called "local" and edit that
 * version.  Gallery will look for that file first and use it if it exists.
 *}

&lt;div id="slideshow" style="margin: 10px 10px 15px 0px; padding: 5px; border-style:solid; border-width:1px; background: #ffffff; text-align: center;"&gt;

{if $theme.pageType == 'album'}
	{if !empty($theme.item.title)} &lt;span style="color: #800000; font-weight: bold;"&gt;{$theme.item.title|markup}&lt;/span&gt;&lt;br /&gt; {/if} Slide Show &lt;br /&gt;
{/if}
{if $theme.pageType == 'photo'}
	{if !empty($theme.parent.title)} &lt;span style="color: #800000; font-weight: bold;"&gt;{$theme.parent.title|markup}&lt;/span&gt;&lt;br /&gt; {/if} Slide Show &lt;br /&gt;
{/if}

&lt;div id="g2slidecontainer" style="height: 160px;"&gt;
 &lt;div id="g2slideplayer"&gt;
    You need Flash Player and JavaScript enabled to view this item.
 &lt;/div&gt;
&lt;/div&gt;

&lt;script type="text/javascript"&gt;
    var attributes = {ldelim}
      id: 'mini',
      name: 'movie'
    {rdelim};
    var params = {ldelim}
      menu: 'false',
      wmode: 'transparent',
      allowscriptaccess: 'always',
      allowfullscreen: 'true'
    {rdelim};
    var flashvars = {ldelim}
{if $theme.pageType == 'album'}
      <span style="color: #993300;">xmlUrl: 'http://www.yoursite.com/gallery2/mediaRss.php?mode=dynamic%26g2_view=dynamicalbum.RandomAlbum%26g2_albumId={$theme.item.id}',</span>
{/if}
{if $theme.pageType == 'photo'}
      <span style="color: #993300;">xmlUrl: 'http://www.yoursite.com/gallery2/mediaRss.php?mode=dynamic%26g2_view=dynamicalbum.RandomAlbum%26g2_albumId={$theme.parent.id}',</span>
{/if}
      shuffle: 'true',
      showDropShadow: 'true',
      delay: 3,
      useFull: 'true',
      showControls: 'always',
      roundedMask: 'true'
    {rdelim};
    <span style="color: #993300;">swfobject.embedSWF("http://www.yoursite.com/gallery2/minislideshow.swf", "g2slideplayer", "160", "160", "9.0.115.0", null, flashvars, params, attributes);</span>
&lt;/script&gt;
&lt;/div&gt;
</pre>
</div>
<p>&nbsp;</p>
<p>As a Gallery2 administrator you can install the &#8216;minislideshow&#8217; plugin.  The installation process should create the Gallery2 module cache directory for you.  If you want to include the slideshow in your Gallery2 theme add the &#8216;minislideshow&#8217; as a sidebar block.  If you want to view the slideshow from an external application such as WordPress, simply create a text widget with code similar to the template file above.</p>
<p>&nbsp;</p>
<h4>WordPress Text Widget</h4>
<div class="textblock">
<pre>
&lt;div id="slideshow" style="margin: 10px 10px 15px 0px; padding: 5px; border-style:none; background: #ffffff; text-align: center;"&gt;
&lt;span style="color: #800000; font-weight: bold;"&gt;Resin Figure Models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 0.8em; font-family: Verdana,Arial,Helvetica,sans-serif;"&gt;Slide Show &lt;/span&gt;&lt;br /&gt;

&lt;div id="g2slidecontainer" style="height: 160px;"&gt;
 &lt;div id="g2slideplayer"&gt;
    You need Flash Player and JavaScript enabled to view this item.
 &lt;/div&gt;
&lt;/div&gt;

&lt;script type="text/javascript"&gt;
    var attributes = {
      id: 'mini',
      name: 'movie'
    };
    var params = {
      menu: 'false',
      wmode: 'transparent',
      allowscriptaccess: 'always',
      allowfullscreen: 'true'
    };
    var flashvars = {
      <span style="color: #993300;">xmlUrl: 'http://www.yoursite.com/gallery2/mediaRss.php?mode=dynamic%26g2_view=dynamicalbum.RandomAlbum%26g2_albumId=21930',</span>
      shuffle: 'true',
      showDropShadow: 'true',
      delay: 3,
      useFull: 'true',
      showControls: 'always',
      roundedMask: 'true'
   };
    <span style="color: #993300;">swfobject.embedSWF("http://www.yoursite.com/gallery2/minislideshow.swf", "g2slideplayer", "160", "160", "9.0.115.0", null, flashvars, params, attributes);</span>
&lt;/script&gt;
&lt;/div&gt;
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/12/gallery2-minislideshow-performance-cache/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sturgeon King (Serpent 2)</title>
		<link>http://www.wmiles.com/2011/12/sturgeon-king-serpent-2?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sturgeon-king-serpent-2</link>
		<comments>http://www.wmiles.com/2011/12/sturgeon-king-serpent-2#comments</comments>
		<pubDate>Sun, 18 Dec 2011 04:44:52 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Work in Progress]]></category>
		<category><![CDATA[Balance of the Nine Skies]]></category>
		<category><![CDATA[Sturgeon King]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2424</guid>
		<description><![CDATA[<p>Well, it is now mid-December, and as promised I have finished the serpent on the Sturgeon King model. I sprayed some green to blue Alclad II prismatic paint along the belly of the serpent to add some additional shading and texture. The Alclad II prismatic paints have an interesting effect whereby they change color [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it is now mid-December, and as promised I have finished the serpent on the Sturgeon King model.  I sprayed some green to blue Alclad II prismatic paint along the belly of the serpent to add some additional shading and texture.  The Alclad II prismatic paints have an interesting effect whereby they change color a bit depending on the angle at which you are looking at the model.  You should be able to see the slight green tint reflecting off the scales in some of the pictures.  </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03512a.jpg" alt="" title="Dsc03512a" width="600" height="402" class="aligncenter size-full wp-image-2425" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03521a.jpg" alt="" title="Dsc03521a" width="600" height="402" class="aligncenter size-full wp-image-2426" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03525a.jpg" alt="" title="Dsc03525a" width="600" height="402" class="aligncenter size-full wp-image-2427" /> </p>
<p>&nbsp;</p>
<p>The following pictures are some close-ups of the serpent&#8217;s face.  The creature has little beady eyes that I presume just had to be red, and a number of tiny little teeth just waiting to bite something.  I washed some black enamel into the nose lines to draw this feature out, and also into the spirals in the things in the head that I had famously tried to paint in a copper color.  I also added a little more purple pearlescent color to the scales on the top of the head as I thought this color should continue on from the back.  There is a little gold enamel trim in the ear wings, and the two antenna on the head were done in the Alclad gold oversprayed with white pearl as I did with the wings.  </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03515a.jpg" alt="" title="Dsc03515a" width="600" height="402" class="aligncenter size-full wp-image-2430" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03519a.jpg" alt="" title="Dsc03519a" width="600" height="402" class="aligncenter size-full wp-image-2431" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03508a.jpg" alt="" title="Dsc03508a" width="600" height="402" class="aligncenter size-full wp-image-2429" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03506a.jpg" alt="" title="Dsc03506a" width="600" height="402" class="aligncenter size-full wp-image-2432" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03507a.jpg" alt="" title="Dsc03507a" width="600" height="402" class="aligncenter size-full wp-image-2428" /></p>
<p>&nbsp;</p>
<p>There you go.  The serpent is done.</p>
<p>My next posting should be in a week or two.  We&#8217;re into the holiday season now and I have some time off work, so I should be able to find more time to continue working on this model.  My plan is to start work on the mushroom seat (if that is what we call it).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/12/sturgeon-king-serpent-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03512-Featured-Image.jpg" length="4620" type="image/jpg" />	</item>
		<item>
		<title>Sturgeon King (Serpent 1)</title>
		<link>http://www.wmiles.com/2011/12/sturgeon-king-serpent-1?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sturgeon-king-serpent-1</link>
		<comments>http://www.wmiles.com/2011/12/sturgeon-king-serpent-1#comments</comments>
		<pubDate>Tue, 06 Dec 2011 05:35:35 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Work in Progress]]></category>
		<category><![CDATA[Balance of the Nine Skies]]></category>
		<category><![CDATA[Sturgeon King]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2385</guid>
		<description><![CDATA[<p>Now it is early December and I have started work on the serpent. I am not finished, but I thought I would post some progress pictures. </p> <p>I had mostly intended to follow PKking&#8217;s original color scheme as it made sense. The serpent is rising from the water and the base of the creature [...]]]></description>
			<content:encoded><![CDATA[<p>Now it is early December and I have started work on the serpent.  I am not finished, but I thought I would post some progress pictures.  </p>
<p>I had mostly intended to follow PKking&#8217;s original color scheme as it made sense.  The serpent is rising from the water and the base of the creature should be of a blue color, which means that the whole serpent should perhaps be of a blue or gray tint.  And, I wanted metallic colors that would shine.  The picture below shows the paints that I used.  There was a metallic blue from Vallejo Model Air and another blue from Tamiya X13, and a few pearlescent ink paints from Daler-Rowney.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03501a.jpg" alt="" title="Dsc03501a" width="600" height="402" class="aligncenter size-full wp-image-2392" /></p>
<p>The base of the serpent was colored with standard blue to roughly match the shade of the water.  The back of the serpent was sprayed with the darker Vallejo blue.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03476a.jpg" alt="" title="Dsc03476a" width="600" height="369" class="aligncenter size-full wp-image-2386" /></p>
<p>The head and the inside of the serpent was painted with the Tamiya metallic blue.  The fins, or pointy things all along the back of the serpent were painted with the purple pearlescent paint.  Now, these Daler-Rowney ink paints are hard to spray as they tend to plug up the airbrush.  So, when they come they come in a big rush, and then they stop, and so on.  There is not a lot of fine spray control.  But, the overspray does leave a wonderful glisten to the metallic paint.  Once the purple is on it is shaded and toned with a white pearl overspray.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03478a.jpg" alt="" title="Dsc03478a" width="600" height="397" class="aligncenter size-full wp-image-2395" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03483a.jpg" alt="" title="Dsc03483a" width="600" height="402" class="aligncenter size-full wp-image-2387" /></p>
<p>Now, being creatively silly, I thought that a nice metallic gold Alclad II color on the wings would look good. Boy, was I wrong!  But, with every mistake there is always gold in the silver linings.  I oversprayed the gold with my wonderful white pearl and came out with a very fine slightly gold tint to the wings which makes them look just like metal.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03489a.jpg" alt="" title="Dsc03489a" width="600" height="402" class="aligncenter size-full wp-image-2388" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03502a.jpg" alt="" title="Dsc03502a" width="600" height="402" class="aligncenter size-full wp-image-2393" /></p>
<p>And then, stupid me, I thought to repeat my mistake by looking for a copper color as highlights on the serpent&#8217;s head.  Well, this didn&#8217;t work any better than the gold.  So, I highlighted the top of the head with the blue pearlescent paint. And I covered this copper mess up and highlighted the blue with the white pearl.  This is much more satisfactory.  </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03492a.jpg" alt="" title="Dsc03492a" width="600" height="402" class="aligncenter size-full wp-image-2389" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03504a.jpg" alt="" title="Dsc03504a" width="600" height="402" class="aligncenter size-full wp-image-2394" /></p>
<p>What follows now are a few shots of the serpent on the clear base.  There is a lot of brush work still required on the serpent to paint the eyes and teeth and bring out all the detail in the creature.  I&#8217;ll post some more pictures in a week or two when this is done.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03497a.jpg" alt="" title="Dsc03497a" width="600" height="402" class="aligncenter size-full wp-image-2391" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03496a.jpg" alt="" title="Dsc03496a" width="600" height="402" class="aligncenter size-full wp-image-2390" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/12/sturgeon-king-serpent-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2011/12/Dsc03496-Featured-Image.jpg" length="5634" type="image/jpg" />	</item>
		<item>
		<title>Sturgeon King (Base Construction)</title>
		<link>http://www.wmiles.com/2011/11/sturgeon-king-base-construction?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sturgeon-king-base-construction</link>
		<comments>http://www.wmiles.com/2011/11/sturgeon-king-base-construction#comments</comments>
		<pubDate>Mon, 21 Nov 2011 04:33:24 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Work in Progress]]></category>
		<category><![CDATA[Balance of the Nine Skies]]></category>
		<category><![CDATA[Sturgeon King]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2359</guid>
		<description><![CDATA[<p>Well, it&#8217;s November now. I had hoped to have the base for my Sturgeon King model completed sooner, but sometimes things happen. It&#8217;s perhaps better not to rush. But really, I messed up. I had to redo some work and this contributed to the delay.</p> <p>I thought to build a simple oak base for [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s November now.  I had hoped to have the base for my Sturgeon King model completed sooner, but sometimes things happen. It&#8217;s perhaps better not to rush.  But really, I messed up.  I had to redo some work and this contributed to the delay.</p>
<p>I thought to build a simple oak base for the model.  After measuring, it looked like a 12 inch diameter round base would be ideal.  However, as you can&#8217;t really buy oak boards this wide, the base needed to be put together from two pieces of 1/2 inch thick lumber.  The following pictures show how I pinned and glued the pieces of wood together.  You will also get to see a bit of my workshop as we go through this.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03452a.jpg" alt="" title="Dsc03452a" width="600" height="402" class="aligncenter size-full wp-image-2323" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03455a.jpg" alt="" title="Dsc03455a" width="600" height="402" class="aligncenter size-full wp-image-2324" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03440a.jpg" alt="" title="Dsc03440a" width="600" height="402" class="aligncenter size-full wp-image-2335" /></p>
<p>&nbsp;</p>
<p>The next step is to figure out where the model should sit on the base.  After marking the location I cut the round base using my jigsaw with a circle guide.  Unfortunately, my circle guide wasn&#8217;t really big enough for a 12 inch diameter cut and on my first attempt at this the guide slipped.  I ended up cutting a spiral and ruining the piece.  Nothing could be done but throw it away and try again.  Also, in the photo below you can see the LED light that I plan to put in the base.  I bought two simple lights at a dollar store.  I am only going to use one and the second is a spare.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03445a.jpg" alt="" title="Dsc03445a" width="600" height="402" class="aligncenter size-full wp-image-2338" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03446a.jpg" alt="" title="Dsc03446a" width="600" height="402" class="aligncenter size-full wp-image-2337" /></p>
<p>&nbsp;</p>
<p>On my second attempt, after buying new wood and preparing the piece, I finally managed to cut out my 12 inch circle.  The next step was to insert the light.  I cut a hole in the wood using a circle cutter of the right size for the light assembly and drilled a hole to run the switch out to the side.  After a little rewiring all was fine, and I filled the hole with a little plastic resin that I mixed up.  The LEDs were protected from the resin pour with a plastic straw. </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03462a.jpg" alt="" title="Dsc03462a" width="600" height="402" class="aligncenter size-full wp-image-2328" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03463a.jpg" alt="" title="Dsc03463a" width="600" height="402" class="aligncenter size-full wp-image-2329" /></p>
<p>&nbsp;</p>
<p>Of course, I am anxious to see what this will look like.  So I decided to assemble the serpent and prime it.  Once primed I dry fit the model. The picture below shows part of the process.  The serpent was too big to prime all at once, so I did it in two passes.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03461a.jpg" alt="" title="Dsc03461a" width="600" height="402" class="aligncenter size-full wp-image-2327" /></p>
<p>&nbsp;</p>
<p>Here are some preliminary dry fit pictures.  The light does indeed highlight the clear resin and I&#8217;m pleased to see this.  Unfortunately the clear resin is dusty right now.  I suspect it will look better when finally finished and properly cleaned. </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03468a.jpg" alt="" title="Dsc03468a" width="600" height="402" class="aligncenter size-full wp-image-2330" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03472a.jpg" alt="" title="Dsc03472a" width="600" height="402" class="aligncenter size-full wp-image-2333" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03470a.jpg" alt="" title="Dsc03470a" width="600" height="402" class="aligncenter size-full wp-image-2331" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03473a.jpg" alt="" title="Dsc03473a" width="600" height="402" class="aligncenter size-full wp-image-2322" /></p>
<p>&nbsp;</p>
<p>For my next post I expect to show my work on the serpent.  It will probably be another month before I have anything to show.  I plan to use metallic paints and trim with gold.  Here&#8217;s hoping this works out well!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/11/sturgeon-king-base-construction/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2011/11/Dsc03471-Featured-Image.jpg" length="5492" type="image/jpg" />	</item>
		<item>
		<title>Sturgeon King (Beginning)</title>
		<link>http://www.wmiles.com/2011/10/sturgeon-king-beginning?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sturgeon-king-beginning</link>
		<comments>http://www.wmiles.com/2011/10/sturgeon-king-beginning#comments</comments>
		<pubDate>Sat, 15 Oct 2011 02:35:55 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Resin Work in Progress]]></category>
		<category><![CDATA[Balance of the Nine Skies]]></category>
		<category><![CDATA[Sturgeon King]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2239</guid>
		<description><![CDATA[<p>Well, it&#8217;s October and my summer hiatus is over. I am now starting work on PKking&#8217;s wonderful sculpt, the Balance of the Nine Skies Sturgeon King. I am really curious to see what I can do with this. There are interesting facets of PKking&#8217;s sculpture that lead to creative ideas, although I am not [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s October and my summer hiatus is over.  I am now starting work on PKking&#8217;s wonderful sculpt, the Balance of the Nine Skies Sturgeon King.  I am really curious to see what I can do with this.  There are interesting facets of PKking&#8217;s sculpture that lead to creative ideas, although I am not going to experiment too much on this one as it is my first build of one of his models.  </p>
<p>For example, we have a serpent, two lovely figures, a massive clear resin base, and all sorts of complexity in the surface details that can be brought out.  </p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/1628870285.jpg" alt="" title="1628870285" width="452" height="640" class="aligncenter size-full wp-image-2241" /></p>
<p>&nbsp;</p>
<p>The following picture shows the shipping box and some of the parts.  I was fortunate in that the fragile and complex clear resin base arrived without damage, all the way from Taiwan.  My thanks to the Postal Gods!  </p>
<p>Oh, as an aside, I taught Computer Science at Weber State University in Ogden, Utah, which is why I have a souvenier in my workshop.  The US State University system is lots of fun and much different from what we see in Canada!</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc02620a.jpg" alt="" title="Dsc02620a" width="600" height="360" class="aligncenter size-full wp-image-2242" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc02622a.jpg" alt="" title="Dsc02622a" width="600" height="401" class="aligncenter size-full wp-image-2243" /></p>
<p>&nbsp;</p>
<p>I decided to start with the transparent base.  The base is in two parts.  One is small and the second is huge.  I am not exactly sure how it was cast?  You can see two massive casting sprues on the left side of the base, but there don&#8217;t seem to be any other sprues anywhere else.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc02639a.jpg" alt="" title="Dsc02639a" width="600" height="401" class="aligncenter size-full wp-image-2244" /></p>
<p>&nbsp;</p>
<p>The following picture is a closer look at the center piece where one of the figures sits.  See all the detail in the piece?  All of PKkings work is of this level of complexity.  There will be some interesting effects possible through dry brushing or other painting techniques.  Oh, if you look closely you can also see that there is a large air bubble hole in the clear resin spash wave in the background.  This was one of the very few flaws I found in the massive cast.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc02640a.jpg" alt="" title="Dsc02640a" width="600" height="402" class="aligncenter size-full wp-image-2245" /></p>
<p>&nbsp;</p>
<p>When I have worked with clear resin in the past, for a clear finish it needs to be sanded with a very fine paper, almost 1200 to 1800 grit if possible, before coating with a clear gloss paint.  If you do this you can get the surface as clear as glass.  For Sturgeon King sanding the whole model to this level will be impractical, but I did try to improve the clarity of the wave splashes.  You can see in the picture below how I sanded the piece.  I used a series of Scotch-Brite radial bristle jeweler sanding discs of various grits on my Dremel tool, down to a very fine 6 micron polish.  When you first start sanding with coarse grits the piece becomes quite cloudy, but as you progress to finer grits it becomes clearer.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc03409a.jpg" alt="" title="Dsc03409a" width="600" height="402" class="aligncenter size-full wp-image-2246" /></p>
<p>&nbsp;</p>
<p>When the pieces were sanded they need to be clear coated for a proper transparent finish.   I used Future acrylic floor wax for my clear coat as this is an inexpensive acrylic paint.  You can also see that I am planning on using Tamiya clear blue paint to color these pieces.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc03429a.jpg" alt="" title="Dsc03429a" width="600" height="354" class="aligncenter size-full wp-image-2247" /></p>
<p>&nbsp;</p>
<p>The next step is to apply the color.  This is done with the air brush in a few coats, shading appropriately.  When the base is dry it is clear coated again to obtain a brilliant reflection.</p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc03433a.jpg" alt="" title="Dsc03433a" width="600" height="354" class="aligncenter size-full wp-image-2248" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc03436a.jpg" alt="" title="Dsc03436a" width="600" height="402" class="aligncenter size-full wp-image-2249" /></p>
<p><img src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc03437a.jpg" alt="" title="Dsc03437a" width="600" height="402" class="aligncenter size-full wp-image-2240" /></p>
<p>&nbsp;</p>
<p>On my next post I plan to set these pieces into a base and adding some LED&#8217;s for internal lighting.  Stay tuned!  Comments are welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/10/sturgeon-king-beginning/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/Dsc02639-Featured-Image.jpg" length="4480" type="image/jpg" />	</item>
		<item>
		<title>Slimbox 2 Inline Slideshow</title>
		<link>http://www.wmiles.com/2011/10/slimbox2-slideshow?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=slimbox2-slideshow</link>
		<comments>http://www.wmiles.com/2011/10/slimbox2-slideshow#comments</comments>
		<pubDate>Thu, 13 Oct 2011 02:09:38 +0000</pubDate>
		<dc:creator>William Miles</dc:creator>
				<category><![CDATA[Website Customization]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[Slimbox]]></category>

		<guid isPermaLink="false">http://www.wmiles.com/?p=2173</guid>
		<description><![CDATA[<p>Slimbox 2 is a lightweight jQuery implementation of the famous Lightbox 2 script that is often used to overlay images on a web page. Slimbox 2 is being used on Kisekae World.</p> <p>It is possible to extend and modify the Slimbox script to automatically show all images in a set much like a slideshow. [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Slimbox 2" href="http://www.digitalia.be/software/slimbox2" target="_blank">Slimbox 2</a> is a lightweight jQuery implementation of the famous <a title="Lightbox" href="http://lokeshdhakar.com/projects/lightbox2/" target="_blank">Lightbox 2</a> script that is often used to overlay images on a web page. Slimbox 2 is being used on Kisekae World.</p>
<p>It is possible to extend and modify the Slimbox script to automatically show all images in a set much like a slideshow. Slimbox 2 uses the <a title="jQuery" href="http://jquery.com/" target="_blank">jQuery Library</a>, a CSS file, an associated Javascript file, and a few images. This new version uses the same jQuery library with the <a title="jQuery Timer" href="http://plugins.jquery.com/project/timers" target="_blank">jQuery Timer</a> extension, a slightly modified CSS file, a modified Javascript file, and two additional images.</p>
<p>Try the example below. Click on any image to invoke Slimbox. Start the slide show.</p>
<p style="text-align:center;">
<a title="Dsc_0100" href="http://www.wmiles.com/gallery2/d/6987-1/Dsc_0100.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" rel="lightbox[g2image]"><img title="Dsc_0100" src="http://www.wmiles.com/gallery2/d/6988-2/Dsc_0100.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="Dsc_0100" width="150" height="100" /></a>&nbsp;<a title="Dsc_0101" href="http://www.wmiles.com/gallery2/d/6958-1/Dsc_0101.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" rel="lightbox[g2image]"><img title="Dsc_0101" src="http://www.wmiles.com/gallery2/d/6959-2/Dsc_0101.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="Dsc_0101" width="150" height="100" />&nbsp;</a><a title="Dsc_0102" href="http://www.wmiles.com/gallery2/d/6991-1/Dsc_0102.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" rel="lightbox[g2image]"><img title="Dsc_0102" src="http://www.wmiles.com/gallery2/d/6992-2/Dsc_0102.jpg?g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" alt="Dsc_0102" width="150" height="100" /></a>
</p>
<p>The modified CSS file is shown below. All modified and new lines are shown in a different color.</p>
<h4>slimbox2.css</h4>
<div class="textblock">
<pre>/* SLIMBOX */

#lbOverlay {
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	cursor: pointer;
}

#lbCenter, #lbBottomContainer {
	position: absolute;
	z-index: 9999;
	overflow: hidden;
	background-color: #fff;
}

.lbLoading {
	background: #fff url(loading.gif) no-repeat center;
}

#lbImage {
	position: absolute;
	left: 0;
	top: 0;
	border: 10px solid #fff;
	background-repeat: no-repeat;
}

#lbPrevLink, #lbNextLink {
	display: block;
	position: absolute;
	top: 0;
	width: 50%;
	outline: none;
}

#lbPrevLink {
	left: 0;
}

#lbPrevLink:hover {
	background: transparent url(prevlabel.gif) no-repeat 0 15%;
}

#lbNextLink {
	right: 0;
}

#lbNextLink:hover {
	background: transparent url(nextlabel.gif) no-repeat 100% 15%;
}

#lbBottom {
	font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
	font-size: 10px;
	color: #666;
	line-height: 1.4em;
	text-align: left;
	border: 10px solid #fff;
	border-top-style: none;
}

#lbCloseLink {
	display: block;
	float: right;
	width: 66px;
	height: 22px;
	background: transparent url(closelabel.gif) no-repeat center;
	margin: 5px 0;
	outline: none;
}

<span style="color: #993300;">#lbShowLink {
        display: block;
        float: right;
        width: 66px;
        height: 33px;
        background: transparent url(showlabel.gif) no-repeat center;
        margin: 5px 0;
        outline: none;
} 

#lbShowLink:hover {
        background: transparent url(showlink.gif) no-repeat center;
} 

#lbShow {
        display: block;
        float: right;
        width: 22px;
        height: 22px;
        background: transparent url(showactive.gif) no-repeat center;
        margin: 5px 0; outline: none;
} </span>

#lbCaption, #lbNumber {
	margin-right: 71px;
}

#lbCaption {
	font-weight: bold;
}</pre>
</div>
<p>&nbsp;</p>
<p>The extended Slimbox 2 Javascript file is shown below. All modified and new lines are shown in a different color.</p>
<h4>slimbox2.js</h4>
<div class="textblock">
<pre>/*!
	Slimbox v2.04 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2010 Christophe Beyls
	MIT-style license.
*/

(function($) {

	// Global variables, accessible to Slimbox only
	var win = $(window), options, images, activeImage = -1, activeURL, prevImage, nextImage, compatibleOverlay, middle, centerWidth, centerHeight,
		ie6 = !window.XMLHttpRequest, hiddenElements = [], documentElement = document.documentElement,

	// Preload images
	preload = {}, preloadPrev = new Image(), preloadNext = new Image(),

	// DOM elements
	<span style="color: #993300;">overlay, center, image, sizer, prevLink, nextLink, bottomContainer, bottom, caption, number, slideshow, show;</span>

	/*
		Initialization
	*/

	$(function() {
		// Append the Slimbox HTML code at the bottom of the document
		$("body").append(
			$([
				overlay = $('&lt;div id="lbOverlay" /&gt;')[0],
				center = $('&lt;div id="lbCenter" /&gt;')[0],
				bottomContainer = $('&lt;div id="lbBottomContainer" /&gt;')[0]
			]).css("display", "none")
		);

		image = $('&lt;div id="lbImage" /&gt;').appendTo(center).append(
			sizer = $('&lt;div style="position: relative;" /&gt;').append([
				prevLink = $('&lt;a id="lbPrevLink" href="#" /&gt;').click(previous)[0],
				nextLink = $('&lt;a id="lbNextLink" href="#" /&gt;').click(next)[0]
			])[0]
		)[0];

		bottom = $('&lt;div id="lbBottom" /&gt;').appendTo(bottomContainer).append([
			$('&lt;a id="lbCloseLink" href="#" /&gt;').add(overlay).click(close)[0],
			<span style="color: #993300;">slideshow = $('&lt;a id="lbShowLink" href="#" /&gt;').click(show)[0],</span>
			<span style="color: #993300;">show = $('&lt;div id="lbShow" /&gt;').hide()[0],</span>
			caption = $('&lt;div id="lbCaption" /&gt;')[0],
			number = $('&lt;div id="lbNumber" /&gt;')[0],
			$('&lt;div style="clear: both;" /&gt;')[0]
		])[0];
	});

	/*
		API
	*/

	// Open Slimbox with the specified parameters
	$.slimbox = function(_images, startImage, _options) {
		options = $.extend({
			loop: false,				// Allows to navigate between first and last images
			overlayOpacity: 0.8,			// 1 is opaque, 0 is completely transparent (change the color in the CSS file)
			overlayFadeDuration: 400,		// Duration of the overlay fade-in and fade-out animations (in milliseconds)
			resizeDuration: 400,			// Duration of each of the box resize animations (in milliseconds)
			resizeEasing: "swing",			// "swing" is jQuery's default easing
			initialWidth: 250,			// Initial width of the box (in pixels)
			initialHeight: 250,			// Initial height of the box (in pixels)
			imageFadeDuration: 400,			// Duration of the image fade-in animation (in milliseconds)
			captionAnimationDuration: 400,		// Duration of the caption animation (in milliseconds)
			<span style="color: #993300;">slideShowDuration: 5000, // Duration of the slide show display (in milliseconds)</span>
			counterText: "Image {x} of {y}",	// Translate or change as you wish, or set it to false to disable counter text for image groups
			closeKeys: [27, 88, 67],		// Array of keycodes to close Slimbox, default: Esc (27), 'x' (88), 'c' (67)
			previousKeys: [37, 80],			// Array of keycodes to navigate to the previous image, default: Left arrow (37), 'p' (80)
			nextKeys: [39, 78]			// Array of keycodes to navigate to the next image, default: Right arrow (39), 'n' (78)
		}, _options);

		// The function is called for a single image, with URL and Title as first two arguments
		if (typeof _images == "string") {
			_images = [[_images, startImage]];
			startImage = 0;
		}

		middle = win.scrollTop() + (win.height() / 2);
		centerWidth = options.initialWidth;
		centerHeight = options.initialHeight;
		$(center).css({top: Math.max(0, middle - (centerHeight / 2)), width: centerWidth, height: centerHeight, marginLeft: -centerWidth/2}).show();
		compatibleOverlay = ie6 || (overlay.currentStyle &amp;&amp; (overlay.currentStyle.position != "fixed"));
		if (compatibleOverlay) overlay.style.position = "absolute";
		$(overlay).css("opacity", options.overlayOpacity).fadeIn(options.overlayFadeDuration);
		position();
		setup(1);

		images = _images;
		options.loop = options.loop &amp;&amp; (images.length &gt; 1);
		return changeImage(startImage);
	};

	/*
		options:	Optional options object, see jQuery.slimbox()
		linkMapper:	Optional function taking a link DOM element and an index as arguments and returning an array containing 2 elements:
				the image URL and the image caption (may contain HTML)
		linksFilter:	Optional function taking a link DOM element and an index as arguments and returning true if the element is part of
				the image collection that will be shown on click, false if not. "this" refers to the element that was clicked.
				This function must always return true when the DOM element argument is "this".
	*/
	$.fn.slimbox = function(_options, linkMapper, linksFilter) {
		linkMapper = linkMapper || function(el) {
			return [el.href, el.title];
		};

		linksFilter = linksFilter || function() {
			return true;
		};

		var links = this;

		return links.unbind("click").click(function() {
			// Build the list of images that will be displayed
			var link = this, startIndex = 0, filteredLinks, i = 0, length;
			filteredLinks = $.grep(links, function(el, i) {
				return linksFilter.call(link, el, i);
			});

			// We cannot use jQuery.map() because it flattens the returned array
			for (length = filteredLinks.length; i &lt; length; ++i) { 				if (filteredLinks[i] == link) startIndex = i; 				filteredLinks[i] = linkMapper(filteredLinks[i], i); 			} 			return $.slimbox(filteredLinks, startIndex, _options); 		}); 	}; 	/* 		Internal functions 	*/ 	function position() { 		var l = win.scrollLeft(), w = win.width(); 		$([center, bottomContainer]).css("left", l + (w / 2)); 		if (compatibleOverlay) $(overlay).css({left: l, top: win.scrollTop(), width: w, height: win.height()}); 	} 	function setup(open) { 		if (open) { 			$("object").add(ie6 ? "select" : "embed").each(function(index, el) { 				hiddenElements[index] = [el, el.style.visibility]; 				el.style.visibility = "hidden"; 			}); 		} else { 			$.each(hiddenElements, function(index, el) { 				el[0].style.visibility = el[1]; 			}); 			hiddenElements = []; 		} 		var fn = open ? "bind" : "unbind"; 		win[fn]("scroll resize", position); 		$(document)[fn]("keydown", keyDown); 	} 	function keyDown(event) { 		var code = event.keyCode, fn = $.inArray; 		// Prevent default keyboard action (like navigating inside the page) 		return (fn(code, options.closeKeys) &gt;= 0) ? close()
			: (fn(code, options.nextKeys) &gt;= 0) ? next()
			: (fn(code, options.previousKeys) &gt;= 0) ? previous()
			: false;
	}

	function previous() {
		return changeImage(prevImage);
	}

	function next() {
		return changeImage(nextImage);
	}

	<span style="color: #993300;">function show() {
                $(show).toggle();
                $(slideshow).stopTime();
                if ( $(show).is(':visible') ) {
                     next();
                     $(slideshow).everyTime(options.slideShowDuration, "slideshow", function() { next(); });
                }
                return false;
         }</span>

	function changeImage(imageIndex) {
		if (imageIndex &gt;= 0) {
			activeImage = imageIndex;
			activeURL = images[activeImage][0];
			prevImage = (activeImage || (options.loop ? images.length : 0)) - 1;
			nextImage = ((activeImage + 1) % images.length) || (options.loop ? 0 : -1);

			stop();
			center.className = "lbLoading";

			preload = new Image();
			preload.onload = animateBox;
			preload.src = activeURL;
		}

		return false;
	}

	function animateBox() {
		center.className = "";
		$(image).css({backgroundImage: "url(" + activeURL + ")", visibility: "hidden", display: ""});
		$(sizer).width(preload.width);
		$([sizer, prevLink, nextLink]).height(preload.height);

		$(caption).html(images[activeImage][1] || "");
		$(number).html((((images.length &gt; 1) &amp;&amp; options.counterText) || "").replace(/{x}/, activeImage + 1).replace(/{y}/, images.length));

		if (prevImage &gt;= 0) preloadPrev.src = images[prevImage][0];
		if (nextImage &gt;= 0) preloadNext.src = images[nextImage][0];

		centerWidth = image.offsetWidth;
		centerHeight = image.offsetHeight;
		var top = Math.max(0, middle - (centerHeight / 2));
		if (center.offsetHeight != centerHeight) {
			$(center).animate({height: centerHeight, top: top}, options.resizeDuration, options.resizeEasing);
		}
		if (center.offsetWidth != centerWidth) {
			$(center).animate({width: centerWidth, marginLeft: -centerWidth/2}, options.resizeDuration, options.resizeEasing);
		}
		$(center).queue(function() {
			$(bottomContainer).css({width: centerWidth, top: top + centerHeight, marginLeft: -centerWidth/2, visibility: "hidden", display: ""});
			$(image).css({display: "none", visibility: "", opacity: ""}).fadeIn(options.imageFadeDuration, animateCaption);
		});
	}

	function animateCaption() {
		if (prevImage &gt;= 0) $(prevLink).show();
		if (nextImage &gt;= 0) $(nextLink).show();
		<span style="color: #993300;">if (images.length &gt; 1) $(slideshow).show();</span>
		$(bottom).css("marginTop", -bottom.offsetHeight).animate({marginTop: 0}, options.captionAnimationDuration);
		bottomContainer.style.visibility = "";
	}

	function stop() {
		preload.onload = null;
		preload.src = preloadPrev.src = preloadNext.src = activeURL;
		$([center, image, bottom]).stop(true);
		<span style="color: #993300;">$([prevLink, nextLink, image, bottomContainer, slideshow]).hide();</span>
	}

	function close() {
		if (activeImage &gt;= 0) {
			stop();
			activeImage = prevImage = nextImage = -1;
			$(center).hide();
			$(overlay).stop().fadeOut(options.overlayFadeDuration, setup);
			<span style="color: #993300;">$(slideshow).stopTime();</span>
			<span style="color: #993300;">$(show).hide();</span>
		}

		return false;
	}

})(jQuery);</pre>
</div>
<p>&nbsp;</p>
<p>The image files referenced in the CSS are shown below. These images should be stored in the same directory as the CSS file.</p>

<a href='http://www.wmiles.com/2011/10/slimbox2-slideshow/showlink' title='showlink'><img width="66" height="33" src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/showlink.gif" class="attachment-thumbnail" alt="showlink" title="showlink" /></a>
<a href='http://www.wmiles.com/2011/10/slimbox2-slideshow/showactive' title='showactive'><img width="16" height="16" src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/showactive.gif" class="attachment-thumbnail" alt="showactive" title="showactive" /></a>
<a href='http://www.wmiles.com/2011/10/slimbox2-slideshow/showlabel' title='showlabel'><img width="66" height="33" src="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/showlabel.gif" class="attachment-thumbnail" alt="showlabel" title="showlabel" /></a>

<p>The <a title="jQuery" href="http://jquery.com/" target="_blank">jQuery Library</a> and the <a title="jQuery Timer" href="http://plugins.jquery.com/project/timers" target="_blank">jQuery Timer</a> extension can be downloaded from the jQuery distribution site. If you are running WordPress then jQuery is included in the distribution. The jQuery Timer extension is a small javascript file that you need to load.</p>
<p>&nbsp;</p>
<h4>jquery.timers-1.2.js</h4>
<div class="textblock">
<pre>/**
 * jQuery.timers - Timer abstractions for jQuery
 * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
 * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
 * Date: 2009/10/16
 *
 * @author Blair Mitchelmore
 * @version 1.2
 *
 **/

jQuery.fn.extend({
	everyTime: function(interval, label, fn, times) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
});

jQuery.extend({
	timer: {
		global: [],
		guid: 1,
		dataKey: "jQuery.timer",
		regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
		powers: {
			// Yeah this is major overkill...
			'ms': 1,
			'cs': 10,
			'ds': 100,
			's': 1000,
			'das': 10000,
			'hs': 100000,
			'ks': 1000000
		},
		timeParse: function(value) {
			if (value == undefined || value == null)
				return null;
			var result = this.regex.exec(jQuery.trim(value.toString()));
			if (result[2]) {
				var num = parseFloat(result[1]);
				var mult = this.powers[result[2]] || 1;
				return num * mult;
			} else {
				return value;
			}
		},
		add: function(element, interval, label, fn, times) {
			var counter = 0;

			if (jQuery.isFunction(label)) {
				if (!times)
					times = fn;
				fn = label;
				label = interval;
			}

			interval = jQuery.timer.timeParse(interval);

			if (typeof interval != 'number' || isNaN(interval) || interval &lt; 0)
				return;

			if (typeof times != 'number' || isNaN(times) || times &lt; 0)  				times = 0; 			 			times = times || 0; 			 			var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {}); 			 			if (!timers[label]) 				timers[label] = {}; 			 			fn.timerID = fn.timerID || this.guid++; 			 			var handler = function() { 				if ((++counter &gt; times &amp;&amp; times !== 0) || fn.call(element, counter) === false)
					jQuery.timer.remove(element, label, fn);
			};

			handler.timerID = fn.timerID;

			if (!timers[label][fn.timerID])
				timers[label][fn.timerID] = window.setInterval(handler,interval);

			this.global.push( element );

		},
		remove: function(element, label, fn) {
			var timers = jQuery.data(element, this.dataKey), ret;

			if ( timers ) {

				if (!label) {
					for ( label in timers )
						this.remove(element, label, fn);
				} else if ( timers[label] ) {
					if ( fn ) {
						if ( fn.timerID ) {
							window.clearInterval(timers[label][fn.timerID]);
							delete timers[label][fn.timerID];
						}
					} else {
						for ( var fn in timers[label] ) {
							window.clearInterval(timers[label][fn]);
							delete timers[label][fn];
						}
					}

					for ( ret in timers[label] ) break;
					if ( !ret ) {
						ret = null;
						delete timers[label];
					}
				}

				for ( ret in timers ) break;
				if ( !ret )
					jQuery.removeData(element, this.dataKey);
			}
		}
	}
});

jQuery(window).bind("unload", function() {
	jQuery.each(jQuery.timer.global, function(index, item) {
		jQuery.timer.remove(item);
	});
});</pre>
</div>
<p>&nbsp;</p>
<p>Download the <a title="Slimbox 2" href="http://www.digitalia.be/software/slimbox2" target="_blank">Slimbox 2</a> distribution. Modify it as shown or replace the distribution files with the code shown above. Put all javascript files in the &#8216;js&#8217; directory and the CSS file in the &#8216;css&#8217; directory. Store the new image files in the &#8216;css&#8217; directory. Upload the directories to your web server. Include the following HTML in the &lt;head&gt; section of your web page.</p>
<p>&nbsp;</p>
<div class="textblock">
<pre>&lt;link rel="stylesheet" href="css/slimbox2.css" type="text/css" media="screen" /&gt;
&lt;script type="text/javascript" src="js/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/jquery.timers-1.2.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/slimbox2.js"&gt;&lt;/script&gt;</pre>
</div>
<p>&nbsp;</p>
<p>To include the Lightbox or Slimbox effect in your images you must include a &#8216;rel&#8217; tag in a hyperlink as shown below. See the <a title="Slimbox 2" href="http://www.digitalia.be/software/slimbox2" target="_blank">Slimbox 2</a> documentation for more information.</p>
<p>&nbsp;</p>
<div class="textblock">
<pre>&lt;a href="images/image-1.jpg" rel="lightbox-cats"&gt;image #1&lt;/a&gt;
&lt;a href="images/image-2.jpg" rel="lightbox-cats"&gt;image #2&lt;/a&gt;
&lt;a href="images/image-3.jpg" rel="lightbox-cats"&gt;image #3&lt;/a&gt;</pre>
</div>
<p>&nbsp;</p>
<p>If you have extensions or improvements to this work please post a comment. It would be more efficient to use text blocks for the &#8216;Slide Show&#8217; images. This would eliminate the need for server image downloads.</p>
<p>&nbsp;</p>
<h4>Errata &#8211; December 21, 2011.</h4>
<p>Ooops, I forgot to include the fact that you need to include another little javascript file (autoload.js) to start the Slimbox2 function on the page. It is part of the standard Slimbox2 distribution, but I didn&#8217;t include it in the code above. So, you need this as well. Make sure you add a &lt;script type=&#8221;text/javascript&#8221; src=&#8221;js/autoload.js&#8221;&gt;&lt;/script&gt; in the &lt;head&gt; section of your web page along with the others shown above.</p>
<p>Or, if it makes it easier, just download this <a href="http://www.wmiles.com/js/slimbox2ss.zip">slimbox2ss.zip</a> file where everything is packaged and there is an example HTML file that you can open in a browser.</p>
<h4>autoload.js</h4>
<div class="textblock">
<pre>// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	jQuery(function($) {
		$("a[rel^='lightbox']").slimbox({loop: true},
				function(el) { return [el.rev || el.href, el.title]; },
				function(el) { return (this == el) || ((this.rel.length &gt; 8) &amp;&amp; (this.rel == el.rel)); });
	});
}</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wmiles.com/2011/10/slimbox2-slideshow/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
	<enclosure url="http://www.wmiles.com/wordpress/wp-content/uploads/2011/10/showactive.gif" length="1849" type="image/jpg" />	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: basic

Served from: www.wmiles.com @ 2012-02-06 14:35:10 -->
