<?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>Goat Karma</title>
	<atom:link href="http://www.goatkarma.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.goatkarma.com</link>
	<description>Geek Repository</description>
	<lastBuildDate>Fri, 07 Jan 2011 12:42:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Wedding</title>
		<link>http://www.goatkarma.com/2011/01/wedding/</link>
		<comments>http://www.goatkarma.com/2011/01/wedding/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 12:36:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[wedding]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=4603</guid>
		<description><![CDATA[<img width="188" height="125" src="http://www.goatkarma.com/wp-content/uploads/2011/01/5242584706_eec23d4da1_b-188x125.jpg" class="attachment-medium wp-post-image" alt="SONY DSC" title="SONY DSC" />As some of you know, I&#8217;ve been neglecting the blog due to work committments plus getting married last month.   I&#8217;ve been sorting through the photos  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="125" src="http://www.goatkarma.com/wp-content/uploads/2011/01/5242584706_eec23d4da1_b-188x125.jpg" class="attachment-medium wp-post-image" alt="SONY DSC" title="SONY DSC" /><p></p><br /><p>As some of you know, I&#8217;ve been neglecting the blog due to work committments plus getting married last month.   I&#8217;ve been sorting through the photos from our marriage in New York, all taken by me or my dad! Still got a lot of rolls of films to develop though.  Have just concentrated on the actual wedding day photos below, there&#8217; are loads more on <a href="http://www.flickr.com/photos/goatkarma/sets/72157625556077370/" target="_blank">my Flickr</a>  Hopefully normal geek bloggery will continue as normal soon.</p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242571210/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5124/5242571210_78359cb379.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5241983409/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5084/5241983409_b873a27e79.jpg" width="500" height="334" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242584706/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5247/5242584706_eec23d4da1.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5241989027/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5083/5241989027_b7b236cc56.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5241994405/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5007/5241994405_7bb74984b9.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242589674/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5082/5242589674_b4a55114f5.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242037925/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5281/5242037925_d00d650351.jpg" width="334" height="500" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242074441/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5282/5242074441_6117ebcb27.jpg" width="500" height="378" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242076339/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5082/5242076339_7b523628e7.jpg" width="500" height="375" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242049813/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5164/5242049813_9fd8e7126e.jpg" width="500" height="375" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242047971/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5247/5242047971_aac1f14d18.jpg" width="500" height="375" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242649812/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5009/5242649812_dcdac0e237.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242613482/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5008/5242613482_96844bb336.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242623960/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5164/5242623960_fe81564da9.jpg" width="334" height="500" alt="My Wedding -02/12/2010" /></a></p>
<p><a href="http://www.flickr.com/photos/goatkarma/5242629036/" title="My Wedding -02/12/2010 by goat karma, on Flickr"><img src="http://farm6.static.flickr.com/5202/5242629036_69c7136a3d.jpg" width="500" height="334" alt="My Wedding -02/12/2010" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2011/01/wedding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an online advent calendar with PHP/Javascript/Ajax</title>
		<link>http://www.goatkarma.com/2010/11/creating-an-online-advent-calendar-with-phpjavascriptajax/</link>
		<comments>http://www.goatkarma.com/2010/11/creating-an-online-advent-calendar-with-phpjavascriptajax/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 11:08:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Articles]]></category>
		<category><![CDATA[advent calendar]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=4584</guid>
		<description><![CDATA[<img width="143" height="188" src="http://www.goatkarma.com/wp-content/uploads/2010/11/4032129960_439aecbdb8_b-143x188.jpg" class="attachment-medium wp-post-image" alt="4032129960_439aecbdb8_b" title="4032129960_439aecbdb8_b" />**Skip to bottom if you just want the source code and instructions**! As the festive season approaches, everyone in Britain looks forward to an advent  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="143" height="188" src="http://www.goatkarma.com/wp-content/uploads/2010/11/4032129960_439aecbdb8_b-143x188.jpg" class="attachment-medium wp-post-image" alt="4032129960_439aecbdb8_b" title="4032129960_439aecbdb8_b" /><p></p><br /><p>**Skip to bottom if you just want the source code and instructions**!</p>
<p>As the festive season approaches, everyone in Britain looks forward to an advent calendar. Actually correction. Everyone looks forward to eating the chocolate from their advent calendar.</p>
<p>At work, I got asked to make an interactive online advent calendar to highlight some of the wonderful historic items in our Library Archive.  I had a quick browse of the web to see if anyone else had done something similar, but the closest was some horrific html page from about 1995. Suffice to say, starting from scratch was the only option.</p>
<p>I first thought about what exactly people enjoyed about advent calendars and how that could be recreated digitally:</p>
<ul>
<li>Chocolate</li>
<li>Anticipation</li>
<li>Self control: only open one window a day</li>
<li>Viewing the image inside the calendar</li>
<li>Chocolate</li>
</ul>
<p>With digital chocolate entirely unsatisfying, it was down the the other things. I needed a advent calendar that would have this functionality:</p>
<ul>
<li>Allow people only to open windows for that particular date, or any date before it in December.</li>
<li>Remember which windows the user had already opened, even after repeated visits each day.</li>
<li>Present the &#8216;goodie&#8217; inside the window in an attractive style</li>
<li>Record that a user has visited a window before.</li>
</ul>
<p>With these in mind, I set about thinking about the easiest way to achieve these:</p>
<ul>
<li>Allow people only to open windows for that particular date, or any date before it in December.<strong><span style="text-decoration: underline;">PHP Scripting</span><br />
</strong></li>
<li>Remember which windows the user had already opened, even after repeated visits each day<span style="text-decoration: underline;">.<strong>Cookies</strong></span></li>
<li>Present the &#8216;goodie&#8217; inside the window in an attractive style. <span style="text-decoration: underline;"><strong>Thickbox</strong></span></li>
<li>Record that a user has visited a window before.<span style="text-decoration: underline;"><strong>Ajax</strong></span></li>
</ul>
<p>Combining JQuery thickbox, with some PHP scripting and cookies should make this crazy crazy dream (!) a reality.</p>
<p>First the layout. I decided on using a simple table to hold all the &#8216;windows&#8217; in the advent calendar.  I could have used DIVS and CSS(remember kids: Tables are a big no no for anything but tabular data, especially layout), however, it was pretty much tabular data I was using so decided to stick with tables.</p>
<p>I created simple content DIV with the background image as an attractive winter scene as the &#8216;front&#8217; of the advent calendar:</p>
<div class="codesnip-container" >
<div class="codesnip">#content<span class="br0">&#123;</span><br />
<span class="kw1">background</span>: <span class="kw2">url</span><span class="br0">&#40;</span>bg.jpg<span class="br0">&#41;</span> <span class="kw1">top</span> <span class="kw1">left</span> <span class="kw2">no-repeat</span>;<br />
<span class="kw1">width</span>: 1024px ;<br />
<span class="kw1">margin-left</span>: <span class="kw2">auto</span> ;<br />
<span class="kw1">margin-right</span>: <span class="kw2">auto</span> ;<br />
<span class="kw1">height</span>:680px;</p>
<p><span class="br0">&#125;</span></div>
</div>
<p>And then placed a table with 8 columns and 3 rows(to make the 24 windows) into this DIV. I styled the cells of the table with a background colour that was semi-transparent(solid block when mouse over), and randomly placed numbers into the cells.</p>
<div class="codesnip-container" >
<div class="codesnip">td<span class="br0">&#123;</span><br />
<span class="coMULTI">/* Fallback for web browsers that doesn&#8217;t support RGBa */</span><br />
<span class="kw1">background</span>: <span class="kw2">url</span><span class="br0">&#40;</span>tp.png<span class="br0">&#41;</span>;<br />
<span class="kw1">height</span>:180px;<br />
<span class="kw1">width</span>:125px;<br />
<span class="kw1">font-size</span>:55px;<br />
<span class="kw1">color</span>:#000000;<br />
<span class="kw1">text-align</span>:<span class="kw2">center</span>;<br />
<span class="kw1">padding</span>:0px;<br />
<span class="kw1">margin</span>:5px;<br />
filter: expression<span class="br0">&#40;</span><span class="br0">&#40;</span>runtimeStyle<span class="re1">.backgroundImage </span>!= <span class="st0">&#8216;none&#8217;</span><span class="br0">&#41;</span> ? runtimeStyle<span class="re1">.filter </span>= <span class="st0">&#8216;progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&#8217;</span>+currentStyle.backgroundImage.split<span class="br0">&#40;</span><span class="st0">&#8216;<span class="es0">\&#8221;</span>&#8216;</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>+<span class="st0">&#8216;, sizingMethod=scale)&#8217;</span> : runtimeStyle.filter,runtimeStyle<span class="re1">.backgroundImage </span>= <span class="st0">&#8216;none&#8217;</span><span class="br0">&#41;</span>;</p>
<p><span class="br0">&#125;</span><br />
td:hover<span class="br0">&#123;</span><br />
<span class="kw1">background-color</span>:#000000;<br />
<span class="kw1">height</span>:180px;<br />
<span class="kw1">width</span>:125px;<br />
<span class="kw1">font-size</span>:55px;<br />
<span class="kw1">color</span>:#ffffff;<br />
<span class="kw1">text-align</span>:<span class="kw2">center</span>;<br />
<span class="br0">&#125;</span></div>
</div>
<p>I also then downloaded and installed <a href="http://jquery.com/demo/thickbox/">thickbox</a> for the images to appear in:</p>
<div class="codesnip-container" >
<div class="codesnip">&amp;lt;script type=<span class="st0">&#8220;text/javascript&#8221;</span> src=<span class="st0">&#8220;jquery.js&#8221;</span>&amp;gt;&amp;lt;/script&amp;gt;<br />
&amp;lt;script type=<span class="st0">&#8220;text/javascript&#8221;</span> src=<span class="st0">&#8220;thickbox.js&#8221;</span>&amp;gt;&amp;lt;/script&amp;gt;</div>
</div>
<p>Now I had the basic layout, I had to think about the best way to prevent people clicking on the image before the time was right, but also I had to ensure that any windows that had been opened before would stay open on any subsequent visists. To do this, I decided to just create one big PHP function to do it all.  Below I&#8217;ll go into detail about this function, but to call it, I put placed the call in the table cell.</p>
<div class="codesnip-container" >
<div class="codesnip">&amp;lt;td id=<span class="st0">&#8220;1&#8243;</span>&amp;gt;&amp;lt;? check<span class="br0">&#40;</span><span class="nu0">1</span>,<span class="st0">&#8220;Theatre programme for a touring production of Billy Liar directed by Lindsay Anderson (1960).&amp;lt;br /&amp;gt;<br />
http://www.is.stir.ac.uk/libraries/collections/anderson/LA307.php &#8220;</span><span class="br0">&#41;</span>;?&amp;gt;&amp;lt;/td&amp;gt;</div>
</div>
<p>The above code calls the function &#8216;check&#8217; and passes in the number of the window and a brief description of the image that will appear(this is needed for thickbox creation).</p>
<h3>The function</h3>
<p>The first step was to create a cookie and set it to expire a long time in the future, in this case, 30 days. I used PHP cookies to check for a cookie called &#8216;seen&#8217; and create one if it doesn&#8217;t exist:</p>
<div class="codesnip-container" >
<div class="codesnip"><a href="http://www.php.net/session_start"><span class="kw3">session_start</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="re0">$session</span>=<span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span>;<br />
<span class="co1">//echo &quot;cookie is&quot;.$session;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<span class="re0">$expire</span>=<span class="nu0">60</span>*<span class="nu0">60</span>*<span class="nu0">24</span>*<span class="nu0">30</span>;<br />
<a href="http://www.php.net/setcookie"><span class="kw3">setcookie</span></a><span class="br0">&#40;</span><span class="st0">&#8220;seen&#8221;</span>, <span class="st0">&#8220;&#8221;</span>, <a href="http://www.php.net/time"><span class="kw3">time</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="re0">$expire</span><span class="br0">&#41;</span>;<br />
<span class="co1">//echo  &quot;session is nowhere&quot;;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>The main guts of the main function had two major operations:</p>
<ul>
<li>check for a cookie, and assign the contents of that cookie to a variable that contains all the numbers of the days that have been visited. This would be the mechanism for ensuring the windows stay open after multiple re-visits to the page. This also allowed the page to display the correct window contents: either an open window or a closed one.</li>
<li>check the current date and ensure that the window is allowed to be open (ensure the user doesn&#8217;t eat all the electronic chocolate at once!).</li>
</ul>
<p>To check which windows the user had opened before, I first got the cookie and assigned it to a variable called $session;</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw2">function</span> check<span class="br0">&#40;</span><span class="re0">$num</span>,<span class="re0">$blurb</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="re0">$session</span>=<span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span>;<br />
<span class="co1">//echo &quot;sesis&quot;.$session;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<span class="re0">$session</span>=<span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span>=<span class="st0">&#8220;&#8221;</span>;<br />
<span class="br0">&#125;</span></div>
</div>
<p>I then got the current day of the month as a number, and the month number(i.e 15th Dec would be 15 and 12):</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="re0">$day</span>=<a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="st0">&#8220;j&#8221;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$month</span>=<a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="st0">&#8220;n&#8221;</span><span class="br0">&#41;</span>;</div>
</div>
<p>After this I needed to see what days the user had already seen before. The way I had been mainting the cookie was to have the windows(i.e days) that the user had already opened, seperated by a comma. So if a user had opened days 1-5, the cookie would contain: &#8220;1,2,3,4,5&#8243;.  To seperate the contents of this cookie, I simply use the PHP command &#8216;explode&#8217; with a comma to split up that string of numbers and place it into an array:</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="re0">$array</span>=<a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st0">&#8220;,&#8221;</span>,<span class="re0">$session</span><span class="br0">&#41;</span>;</div>
</div>
<p>This now gave me my visited windows in an array called $array.  All I had to do now was check that the number on the advent calendar was allowed to be clicked on(i.e the day has already passed), and that the user had clicked on it before or not.</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$month</span> ==<span class="nu0">12</span><span class="br0">&#41;</span><span class="br0">&#123;</span></p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$num</span>&amp;lt;=<span class="re0">$day</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/in_array"><span class="kw3">in_array</span></a><span class="br0">&#40;</span><span class="re0">$num</span>, <span class="re0">$array</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$insert</span>=<span class="st0">&#8220;&amp;lt;img src=&#8217;images/t$num.jpg&#8217; alt=&#8217;thumbnail for $num&#8217; style=&#8217;width:120px;height:180px;margin:0px;padding:0px;&#8217;/&amp;gt;&#8221;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<span class="re0">$insert</span>=<span class="re0">$num</span>;<br />
<span class="br0">&#125;</span></p>
<p><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&#8216;&amp;lt;a href=&quot;images/&#8217;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;.jpg&quot; title=&quot;&#8217;</span>.<span class="re0">$blurb</span>.<span class="st0">&#8216;&quot; class=&quot;thickbox&quot; onclick=&quot;sndReq(<span class="es0">\&#8217;</span>&#8216;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;<span class="es0">\&#8217;</span>)&quot;&amp;gt;&#8217;</span>.<span class="re0">$insert</span>.<span class="st0">&#8216;&amp;lt;/a&amp;gt;&#8217;</span>;</p>
<p><span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="br0">&#40;</span><span class="st0">&#8220;$num&#8221;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span><span class="co1">//month !=12</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="br0">&#40;</span><span class="st0">&#8220;$num&#8221;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div>
</div>
<p>Let&#8217;s break that down a bit:</p>
<p>The first thing I&#8217;m doing here is checking that the month is December to  make sure no one can access any of the windows before then:</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$month</span> ==<span class="nu0">12</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</div>
<p>Next, I&#8217;m checking to make sure that the window number(which is passed into the function, along with a blurb about the image that will be displayed) is less than or equal to the current day. This is the check to make sure that the user is allowed to click on the number.</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$num</span>&amp;lt;=<span class="re0">$day</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</div>
<p>After this, I need to do a check to see if the user has actually clicked on the window before, and if they have, they need to be presented with a thumbnail of the larger image they see in the thickbox when they click on the window. To do this, I&#8217;m simply checking to see if the passed in number ($num) exists in the array that was created from the cookie.  It assigns a string to the variable $insert that either just has the number as a clickable link, or displays a thumbnail of the image if it has been clicked on before(i.e it was in the cookie). The thumbnail image is called t+window number.jpg.  After it does this check it will print on the page either the thumbnail image or just the clickable number. Both link to the same place, it&#8217;s just whether it displays the number of the window or the thumbnail image.</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/in_array"><span class="kw3">in_array</span></a><span class="br0">&#40;</span><span class="re0">$num</span>, <span class="re0">$array</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$insert</span>=<span class="st0">&#8220;&amp;lt;img src=&#8217;images/t$num.jpg&#8217; alt=&#8217;thumbnail for $num&#8217; style=&#8217;width:120px;height:180px;margin:0px;padding:0px;&#8217;/&amp;gt;&#8221;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<span class="re0">$insert</span>=<span class="re0">$num</span>;<br />
<span class="br0">&#125;</span></p>
<p><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&#8216;&amp;lt;a href=&quot;images/&#8217;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;.jpg&quot; title=&quot;&#8217;</span>.<span class="re0">$blurb</span>.<span class="st0">&#8216;&quot; class=&quot;thickbox&quot; onclick=&quot;sndReq(<span class="es0">\&#8217;</span>&#8216;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;<span class="es0">\&#8217;</span>)&quot;&amp;gt;&#8217;</span>.<span class="re0">$insert</span>.<span class="st0">&#8216;&amp;lt;/a&amp;gt;&#8217;</span>;</div>
</div>
<p>Each link has a class as &#8216;thickbox&#8217; that will open the image in a new thickbox on that page along with the description which is the &#8216;title=&#8217; in the link.</p>
<p>You&#8217;ll noticed an &#8216;onclick&#8217; action that takes place when the user clicks on the window link. This is to use Ajax to silently record the window number that the user had clicked on to the cookie of visited windows. Let&#8217;s take a look at this:</p>
<h3>The AJAX bit</h3>
<div class="codesnip-container" >
<div class="codesnip"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&#8216;&amp;lt;a href=&quot;images/&#8217;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;.jpg&quot; title=&quot;&#8217;</span>.<span class="re0">$blurb</span>.<span class="st0">&#8216;&quot; onclick=&quot;sndReq(<span class="es0">\&#8217;</span>&#8216;</span>.<span class="re0">$num</span>.<span class="st0">&#8216;<span class="es0">\&#8217;</span>)&quot;&amp;gt;&#8217;</span>.<span class="re0">$insert</span>.<span class="st0">&#8216;&amp;lt;/a&amp;gt;&#8217;</span>;</div>
</div>
<p>The onclick=&#8221;sndReq(\&#8221;.$num.&#8217;\')&#8221; calls a javscript function that passes in the number of the window the user just clicked on. This goes to some Ajax that then runs a PHP script to add that clicked on number to the cookie:</p>
<div class="codesnip-container" >
<div class="codesnip">&amp;lt;script type=<span class="st0">&#8220;text/javascript&#8221;</span>&amp;gt;<br />
<span class="kw2">function</span> createRequestObject<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw2">var</span> ro;<br />
ro = <span class="br0">&#40;</span>window.<span class="me1">ActiveXObject</span><span class="br0">&#41;</span> ? <span class="kw2">new</span> ActiveXObject<span class="br0">&#40;</span><span class="st0">&#8220;Microsoft.XMLHTTP&#8221;</span><span class="br0">&#41;</span> : <span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">return</span> ro;<br />
<span class="br0">&#125;</span></p>
<p><span class="kw2">var</span> http = createRequestObject<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw2">function</span> sndReq<span class="br0">&#40;</span>action<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
http.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&#8216;get&#8217;</span>, <span class="st0">&#8216;rpc.php?action=&#8217;</span>+action<span class="br0">&#41;</span>;<br />
http.<span class="me1">onreadystatechange</span> = handleResponse;<br />
http.<span class="me1">send</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="kw2">function</span> handleResponse<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span><span class="br0">&#40;</span>http.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="kw2">var</span> response = http.<span class="me1">responseText</span>;<br />
<span class="kw2">var</span> update = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">if</span><span class="br0">&#40;</span>response.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&#8216;|&#8217;</span><span class="br0">&#41;</span> != -<span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
update = response.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">&#8216;|&#8217;</span><span class="br0">&#41;</span>;<br />
document.<span class="me1">getElementById</span><span class="br0">&#40;</span>update<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#41;</span>.<span class="me1">innerHTML</span> = update<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
&amp;lt;/script&amp;gt;</div>
</div>
<p>The first function createRequestObject() just sets up the Ajax and then creates an instance of this request object call &#8216;http&#8217;. That is pretty much just a standard opener for using Ajax.</p>
<p>The next function &#8216;sndReq&#8217; is the main meat of this ajax request.  It passes in the number of the window the user clicked in and assigns it to &#8216;action&#8217; and then runs the PHP script &#8216;rpc.php?action=+action&#8217; which will add the current window number to the cookie of visited windows.</p>
<p>Finally the &#8216;handleResponse&#8217; function is there just for error handling-it returns from the rpc.php file which number was added and whether it was successful. It can then display that on the page for testing purposes.</p>
<h3>The PHP script requested from AJAX (rpc.php)</h3>
<p>This script is probably the easiest out the lot! It takes the window number passed in from the javascript using GET and checks again if there is a cookie called &#8216;seen&#8217; and creates one if it doesn&#8217;t exist, or adds the passed in window number onto the string in the cookie, and then rewrites that cookie.  The &#8216;echo foo&#8217; parts are just for error handling and testing.</p>
<div class="codesnip-container" >
<div class="codesnip">&amp;lt;?<br />
<a href="http://www.php.net/session_start"><span class="kw3">session_start</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$num</span>=<span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;action&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="re0">$session</span>=<span class="re0">$_COOKIE</span><span class="br0">&#91;</span><span class="st0">&#8216;seen&#8217;</span><span class="br0">&#93;</span>;<br />
<span class="re0">$together</span>=<span class="re0">$session</span>.<span class="st0">&#8220;,&#8221;</span>.<span class="re0">$num</span>;<br />
<a href="http://www.php.net/setcookie"><span class="kw3">setcookie</span></a><span class="br0">&#40;</span><span class="st0">&#8220;seen&#8221;</span>,<span class="re0">$together</span>, <a href="http://www.php.net/time"><span class="kw3">time</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="nu0">3600</span><span class="br0">&#41;</span>;<br />
<span class="co1">//echo &quot;foo| already session: $num&quot;;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span><span class="br0">&#123;</span><br />
<span class="re0">$expire</span>=<span class="nu0">60</span>*<span class="nu0">60</span>*<span class="nu0">24</span>*<span class="nu0">30</span>;<br />
<a href="http://www.php.net/setcookie"><span class="kw3">setcookie</span></a><span class="br0">&#40;</span><span class="st0">&#8220;seen&#8221;</span>,<span class="re0">$num</span>, <a href="http://www.php.net/time"><span class="kw3">time</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="re0">$expire</span><span class="br0">&#41;</span>;<br />
<span class="co1">//echo &quot;foo| no session&quot;;</span></p>
<p><span class="br0">&#125;</span></p>
<p>?&amp;gt;</p></div>
</div>
<p>And that&#8217;s about it! It may seem incredibly complicated for something as silly as an advent calendar, but, outside of Flash, this was probably the easiest way to do it!</p>
<p>I understand that was pretty awful to follow, so worry not! I have included all the source files below. I&#8217;ve even got instructions!</p>
<ol>
<li>Create a folder on your website called whatever you want (mine was advent).</li>
<li>Download and Extract the files in <a href="http://www.goatkarma.com/wp-content/uploads/2010/11/calendar.zip"></a><a href="http://www.goatkarma.com/wp-content/uploads/2010/11/calendar1.zip" target="_blank">calendar1.zip</a> file to that folder</li>
<li>Create a folder called &#8216;images&#8217; in that folder too(i.e advent\images)</li>
<li>You can edit and change the bg.jpg file to whatever image you want-although keep the size at 1024&#215;545 pixels.</li>
<li>You can edit hbg.jpg too which is the header image of that page</li>
<li>Create 24 images of whatever size you want(up to about 1024&#215;768 pixels) and name them 1.jpg through to 24.jpg. Place these in the images folder.</li>
<li>Create thumbnails of these images and call them t1.jpg through to t24.jpg. The thumbnail size has to be 120&#215;180 pixels.Place these in the images folder.</li>
<li>In index.php (from about line 183) edit all the descriptions to match the images for that particular number. Edit the &#8216;description here&#8217; part.</li>
<li>In thickbox.js edit search for any URL that is &#8216;http://www.is.stir.ac.uk/advent/&#8217; and replace it with the URL of your advent calendar.</li>
<li>Upload everything and cross your fingers!</li>
</ol>
<p>Not sure if that was a very helpful post or not..sorry! But the end result is pretty good.</p>
<p>Ours is here: Try it out, all windows are accessible until the end of the month, and then you have to do it properly in December!</p>
<p style="text-align: center;"><a href="http://www.is.stir.ac.uk/advent/">http://www.is.stir.ac.uk/advent/</a></p>
<p style="text-align: left;">Possible improvements: Use a MySQL database as the backend for organising the images. Plus actually randomly inserting the images every time too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/11/creating-an-online-advent-calendar-with-phpjavascriptajax/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Instant Photo a day</title>
		<link>http://www.goatkarma.com/2010/10/instant-photo-a-day/</link>
		<comments>http://www.goatkarma.com/2010/10/instant-photo-a-day/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 13:29:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[fuji]]></category>
		<category><![CDATA[instant]]></category>
		<category><![CDATA[photo a day]]></category>
		<category><![CDATA[Polaroid]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=4530</guid>
		<description><![CDATA[<img width="188" height="91" src="http://www.goatkarma.com/wp-content/uploads/2010/10/4764846423_6181d5e12e_b-188x91.jpg" class="attachment-medium wp-post-image" alt="4764846423_6181d5e12e_b" title="4764846423_6181d5e12e_b" />During July, I figured I better use some of the polaroid film I&#8217;ve been stockpiling and decided to do an instant photo a day. It  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="91" src="http://www.goatkarma.com/wp-content/uploads/2010/10/4764846423_6181d5e12e_b-188x91.jpg" class="attachment-medium wp-post-image" alt="4764846423_6181d5e12e_b" title="4764846423_6181d5e12e_b" /><p></p><br /><p>During July, I figured I better use some of the polaroid film I&#8217;ve been stockpiling and decided to do an instant photo a day.  It was incredibly difficult even for just a month with shoots being hampered by weather and time restraints.</p>
<p>Here&#8217;s some of my favourites from the month.  More are available on<a href="http://www.flickr.com/photos/goatkarma/sets/72157624275567297/"> Flickr</a>.</p>
<p><a title="Instant-photo-a-day July 2010: 6/7/10: Swan by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4771406290/"><img src="http://farm5.static.flickr.com/4101/4771406290_b268c5d1f1.jpg" alt="Instant-photo-a-day July 2010: 6/7/10: Swan" width="232" height="500" /></a></p>
<p><span id="more-4530"></span></p>
<p><a title="Instant-photo-a-day July 2010: 15/7/10: Derelict by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4809236059/"><img src="http://farm5.static.flickr.com/4122/4809236059_a7f54307dd.jpg" alt="Instant-photo-a-day July 2010: 15/7/10: Derelict" width="500" height="403" /></a></p>
<p><a title="Instant-photo-a-day July 2010: 22/7/10: Flash FAIL by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4824329818/"><img src="http://farm5.static.flickr.com/4114/4824329818_86a05afa96.jpg" alt="Instant-photo-a-day July 2010: 22/7/10: Flash FAIL" width="500" height="398" /></a></p>
<p><a title="Instant-photo-a-day July 2010: 19/7/10: Hello, I'm Johnny Cash by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4809994238/"><img src="http://farm5.static.flickr.com/4074/4809994238_fb5869df23.jpg" alt="Instant-photo-a-day July 2010: 19/7/10: Hello, I'm Johnny Cash" width="388" height="500" /></a></p>
<p><a title="Instant-photo-a-day July 2010: 21/7/10: Subway by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4823688319/"><img src="http://farm5.static.flickr.com/4081/4823688319_58cbd6e131.jpg" alt="Instant-photo-a-day July 2010: 21/7/10: Subway" width="406" height="500" /></a></p>
<p>And the whole lot:<br />
<a title="Instant-photo-a-day finished! by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4853736674/"><img src="http://farm5.static.flickr.com/4134/4853736674_b0abf9080a.jpg" alt="Instant-photo-a-day finished!" width="500" height="325" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/10/instant-photo-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Large Format Paris</title>
		<link>http://www.goatkarma.com/2010/10/large-format-paris/</link>
		<comments>http://www.goatkarma.com/2010/10/large-format-paris/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 11:44:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=4521</guid>
		<description><![CDATA[<img width="188" height="150" src="http://www.goatkarma.com/wp-content/uploads/2010/10/4143383982_a110efd3d6_b-188x150.jpg" class="attachment-medium wp-post-image" alt="4143383982_a110efd3d6_b" title="4143383982_a110efd3d6_b" />Last year, I travelled for 10 hours by train in order for me to take my large format camera with me to Paris.  I only  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="150" src="http://www.goatkarma.com/wp-content/uploads/2010/10/4143383982_a110efd3d6_b-188x150.jpg" class="attachment-medium wp-post-image" alt="4143383982_a110efd3d6_b" title="4143383982_a110efd3d6_b" /><p></p><br /><p>Last year, I travelled for 10 hours by train in order for me to take my large format camera with me to Paris.  I only took about 10 photos, but I really enjoyed using it in the home of photography.  Random strangers wanting to chat became commonplace and the freezing cold at night was a bit jarring, but I was pretty happy with some of the results.</p>
<p>Of course, they are best viewed super large in flickr!</p>
<p><a href="http://www.flickr.com/photos/goatkarma/sets/72157622056672340/with/4137513009/">http://www.flickr.com/photos/goatkarma/sets/72157622056672340/with/4137513009/</a></p>
<p><a title="Cathédrale Notre Dame de Paris by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4137513009/"><img src="http://farm3.static.flickr.com/2756/4137513009_e496eb40ae.jpg" alt="Cathédrale Notre Dame de Paris" width="500" height="352" /></a></p>
<p><span id="more-4521"></span></p>
<p><a title="Pont de l'Alma RER by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4138370464/"><img src="http://farm3.static.flickr.com/2516/4138370464_de1f33c90b.jpg" alt="Pont de l'Alma RER" width="500" height="398" /></a></p>
<p><a title="Tour Eiffel by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4137610453/"><img src="http://farm3.static.flickr.com/2614/4137610453_357f8d7e2e.jpg" alt="Tour Eiffel" width="388" height="500" /></a></p>
<p><a title="Pont Neuf by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4148247740/"><img src="http://farm3.static.flickr.com/2664/4148247740_54eca067ac.jpg" alt="Pont Neuf" width="402" height="500" /></a></p>
<p><a title="Boring Paris Street! by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4196785253/"><img src="http://farm3.static.flickr.com/2767/4196785253_3e7c0a652c.jpg" alt="Boring Paris Street!" width="500" height="406" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/10/large-format-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paddy’s Market RIP</title>
		<link>http://www.goatkarma.com/2010/10/paddys-market-rip/</link>
		<comments>http://www.goatkarma.com/2010/10/paddys-market-rip/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 17:21:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[glasgow]]></category>
		<category><![CDATA[olympus trip]]></category>
		<category><![CDATA[paddys market]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=435</guid>
		<description><![CDATA[<img width="188" height="119" src="http://www.goatkarma.com/wp-content/uploads/2010/10/3534862589_e24a049bfa_b-188x119.jpg" class="attachment-medium wp-post-image" alt="3534862589_e24a049bfa_b" title="3534862589_e24a049bfa_b" />On the 15th May 2009, Paddys Market was finally closed by Glagow City Council. Long seen a &#8216;blight&#8217; by the community, the market, housed in  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="119" src="http://www.goatkarma.com/wp-content/uploads/2010/10/3534862589_e24a049bfa_b-188x119.jpg" class="attachment-medium wp-post-image" alt="3534862589_e24a049bfa_b" title="3534862589_e24a049bfa_b" /><p></p><br /><p>On the 15th May 2009, Paddys Market was finally closed by Glagow City Council.</p>
<p>Long seen a &#8216;blight&#8217; by the community, the market, housed in railway arches, sold junk for over 200 years.  Originally set up by the immigrant Irish fleeing from the famine in their homeland, The market has long connections with crime. Drug dealers and counterfeit DVD &amp; cigarette dealers blighting the market in recent years.</p>
<p>I managed to get down there(by accident!) on the final day.  Emotions were running high, but most people were still friendly and welcoming.</p>
<p><em>Olympus Trip 35 and Ilford HP5+.</em></p>
<h3><a href="http://www.flickr.com/photos/goatkarma/tags/paddysmarket/">More can be seen here</a><em><br />
</em></h3>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/10/paddys-market-rip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flickr API Fun: Flickr Theme Searcher</title>
		<link>http://www.goatkarma.com/2010/10/flickr-api-fun-flickr-theme-searcher/</link>
		<comments>http://www.goatkarma.com/2010/10/flickr-api-fun-flickr-theme-searcher/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 11:20:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech Articles]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.goatkarma.com/?p=4516</guid>
		<description><![CDATA[<img width="188" height="151" src="http://www.goatkarma.com/wp-content/uploads/2010/10/fapi-188x151.jpg" class="attachment-medium wp-post-image" alt="fapi" title="fapi" />I&#8217;ve made another wee Flickr App.  This time you can search groups for keyword, between certain dates. It will then return the photos that have  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="151" src="http://www.goatkarma.com/wp-content/uploads/2010/10/fapi-188x151.jpg" class="attachment-medium wp-post-image" alt="fapi" title="fapi" /><p></p><br /><p><a href="http://www.goatkarma.com/wp-content/uploads/2010/10/fapi.jpg"><img class="aligncenter size-large wp-image-4517" title="fapi" src="http://www.goatkarma.com/wp-content/uploads/2010/10/fapi-494x399.jpg" alt="" width="494" height="399" /></a>I&#8217;ve made another wee Flickr App.  This time you can search groups for keyword, between certain dates. It will then return the photos that have those keywords in the title,description or tags.  You then get the choice to either click on the the photo to be taken to that photo&#8217;s page, or you can click to have the code for that photo added to a textbox(which can the be copied) which will allow you to use on flickr groups, or wordpress.</p>
<p>Again, this uses PHPFlickr which is a great PHP translation of the Flickr API.<br />
I&#8217;ve also done a flickr group searcher which can be seen here:</p>
<p><a href="http://www.goatkarma.com/2009/08/introducing-flickr-group-searcher-and-flickr-favourite-searcher-with-auto-code-generation/">http://www.goatkarma.com/2009/08/introducing-flickr-group-searcher-and-flickr-favourite-searcher-with-auto-code-generation/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/10/flickr-api-fun-flickr-theme-searcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The (not real) HOLGA D</title>
		<link>http://www.goatkarma.com/2010/07/the-not-real-holga-d/</link>
		<comments>http://www.goatkarma.com/2010/07/the-not-real-holga-d/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 09:52:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography Articles]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[holga d]]></category>

		<guid isPermaLink="false">http://www.holgablog.com/?p=3644</guid>
		<description><![CDATA[Indian industrial designer Saikat Biswas has come up with a novel and frankly, fantastic looking digital Holga.  He calls it the Holga D. Saikat has  &#8230;]]></description>
			<content:encoded><![CDATA[<p></p><br /><p style="text-align: center;">
<p><a href="http://www.goatkarma.com/wp-content/uploads/2010/07/Holga_D_01.jpg"><img class="aligncenter size-large wp-image-4469" title="Holga_D_01" src="http://www.goatkarma.com/wp-content/uploads/2010/07/Holga_D_01-494x494.jpg" alt="" width="494" height="494" /></a></p>
<p>Indian industrial designer Saikat Biswas has come up with a novel and frankly, fantastic looking digital Holga.  He calls it the Holga D.</p>
<p>Saikat has managed to merge the key elements of the Holga and combine them with a digital sensor.  We would love to see Holga make something similar.</p>
<p><span id="more-3644"></span></p>
<p><img class="alignnone" title="Holga D" src="http://www.saikatbiswas.com/web/Projects/Holga_D/Hogla_D_04_anatomy.jpg" alt="" width="504" height="1060" /></p>
<p>More information available on his site:</p>
<p><a href="http://www.saikatbiswas.com/web/Projects/Holga_D.htm">http://www.saikatbiswas.com/web/Projects/Holga_D.htm</a></p>
<p>It&#8217;s a really interesting read, and he has put a lot of time and thought into designing this Holga D.</p>
<p>So what do you say Holga&#8230;time to make the Holga D <img src='http://www.goatkarma.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/07/the-not-real-holga-d/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Review: Impossible Project PX100 Silver Shade/First Flush</title>
		<link>http://www.goatkarma.com/2010/04/review-impossible-project-px100-silver-shade-first-flush/</link>
		<comments>http://www.goatkarma.com/2010/04/review-impossible-project-px100-silver-shade-first-flush/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:32:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography Articles]]></category>
		<category><![CDATA[px100]]></category>
		<category><![CDATA[sx70]]></category>
		<category><![CDATA[the impossible project]]></category>

		<guid isPermaLink="false">http://www.holgablog.com/?p=2922</guid>
		<description><![CDATA[<img width="188" height="141" src="http://www.goatkarma.com/wp-content/uploads/2010/04/Clipboard02-188x141.jpg" class="attachment-medium wp-post-image" alt="Clipboard02" title="Clipboard02" />Last week I tried hard to be impartial while writing our brief article outlining the current problems surrounding the first film from The Impossible Project&#8217;s  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="141" src="http://www.goatkarma.com/wp-content/uploads/2010/04/Clipboard02-188x141.jpg" class="attachment-medium wp-post-image" alt="Clipboard02" title="Clipboard02" /><p></p><br /><p style="text-align: center;"><a class="thickbox" title="Clipboard02" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/Clipboard02.jpg"><img class="size-full wp-image-2947 aligncenter" title="Clipboard02" src="http://www.holgablog.com/wp-content/uploads/2010/04/Clipboard02.jpg" alt="" width="500" height="375" /></a></p>
<p>Last week I tried hard to be impartial while writing our brief article outlining the current problems surrounding the first film from The Impossible Project&#8217;s (TIP) factory and the backlash surrounding it.  Personally I was torn about the new film: I was incredibly happy that they have managed to resurrect the old factory and succeeded in creating an entirely new film, but I was a bit dismayed by  reports of the instability of their integral product.</p>
<p><span id="more-2922"></span></p>
<div id="attachment_2938" class="wp-caption alignright" style="width: 140px"><a class="thickbox" title="Clipboard01" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/Clipboard01.jpg"><img class="size-full wp-image-2938 " title="Clipboard01" src="http://www.holgablog.com/wp-content/uploads/2010/04/Clipboard01.jpg" alt="" width="130" height="207" /></a><p class="wp-caption-text">The current price on the Impossible website is due to rise by 1 Euro after an introductory offer</p></div>
<p>I ordered three packs on the launch day for two main reasons: I really wanted to try the film out for myself so I could make my own mind up about a product that has so far split polaroid&#8217;s internet fanbase, and I also wanted to show my support for TIP, a tiny company that was tasked with an incredible feat in a small time frame.  Being based in the UK, postage was somewhat expensive at £14 (purchasing one pack would cost £30 or £3.75 per shot!), but buying in bulk is key to keeping costs down.  Other customers have been left frustrated by shipping costs ($50 to Canada from the Inpossible USA shop), but TIP are looking into reducing the costs.  The plus side of this price is the swift delivery: 2 days via UPS from Germany once it had left the warehouse.</p>
<p>Before using the film I really wanted to read as much as I could in order to avoid the overexposed white shots experienced by the <a href="http://www.1854.eu/2010/03/handson_with_impossible_px100.html" target="_blank">British Journal of Photography</a> and <a href="http://www.flickr.com/groups/px100/discuss/72157623584107031/" target="_blank">some users</a> on <a href="http://www.flickr.com">Flickr</a>.  The first port-o&#8217;-call was the TIP website which contains a<a href="http://www.the-impossible-project.com/projects/pxfilm/quickstart" target="_blank"> step-by-step guide</a> on how to use the film.</p>
<p>TIP mention that the film is incredibly sensitive to temperature, with the optimum range being 16-24C and appears to be sensitive to light during development, with the guide stating that you should &#8216;IMMEDIATELY SHIELD THE PICTURE FROM LIGHT&#8217; with your hand.  That&#8217;s a good start, but people were complaining the photos were still overexposing even after following this guide, others found that using their old ND filter from the sx70/600 film hack days helped produce better results.</p>
<div id="attachment_2936" class="wp-caption aligncenter" style="width: 310px"><a class="thickbox" title="IMG_1689-2" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/IMG_1689-2.jpg"><img class="size-medium wp-image-2936" title="IMG_1689-2" src="http://www.holgablog.com/wp-content/uploads/2010/04/IMG_1689-2-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">The Px100 packaging- pretty snazzy by all accounts</p></div>
<p>After more research it seemed that the photos weren&#8217;t overexposing at the point the shutter fired, but rather after the camera had spat the photo out.  The blue opaque layer which is meant to shield the film while it is developing seemed to be at fault, allowing ambient light to penetrate through it, thus over-exposing the photograph.  T&#8217;interweb is full of productive and ingenious types, with users instantly coming up with 2 main solutions to this problem: taping the ejected darkslide (more on the darkslide later) onto the front of your camera to shield the film as it ejected, or taping a small dark bag to the front of the camera so the film went straight into the bag.  Most people seem to agree that the bag solution produces the best results, but is a bit more cumbersome in the field.</p>
<div id="attachment_2939" class="wp-caption alignleft" style="width: 205px"><a class="thickbox" title="PX100_middle03-thumb" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/PX100_middle03-thumb.jpg"><img class="size-medium wp-image-2939 " title="PX100_middle03-thumb" src="http://www.holgablog.com/wp-content/uploads/2010/04/PX100_middle03-thumb-244x300.jpg" alt="a white 'roid- a common problem amoung the very first users" width="195" height="240" /></a><p class="wp-caption-text">a white &#39;roid- a common problem among the very first users</p></div>
<p>So the first problem seems to have been overcome, but what does that say about the film, and indeed, TIP? The opaque layer is far more sensitive to light then TIP seem to be stating in their literature, simply covering the film with your hand after it had ejected would not be enough to prevent overexposure, it requires direct action on behalf of the user in order to produce a workable photo, something that TIP must have known about before production?</p>
<p>I decided to use the darkslide method for my first attempts, mainly due to the speed.   That was the first problem out of the way, the second seems to be temperature.  Even in the middle of summer, it very rarely gets close to 24C in Scotland, so I needed a way to ensure the film developed correctly at about the correct temperature.  I went with the &#8216;armpit&#8217; method : transfer the photo and the darkslide together into my armpit and allow development for 2 minutes (more on this later).</p>
<p>Now I thought I was fully ready and preapred to test the film out in &#8216;the field&#8217;&#8230;</p>
<h2 class="larger">Field Test</h2>
<p style="text-align: center;"><a class="thickbox" title="81695456" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/81695456.jpg"><img class="size-medium wp-image-2926 aligncenter" title="81695456" src="http://www.holgablog.com/wp-content/uploads/2010/04/81695456-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: left;">The location was chosen: Edinburgh, the day: Good Friday.  I had packed my polaroid case with a couple of packs of film, and still had a few shots left of 600 to use up first. <a href="http://www.flickr.com/photos/goatkarma/4487659700/" target="_blank">A fountain diptych</a> took care of the penultimate shots, and with only one shot remaining I thought I better try a comparison shot.  It just so happened I was sat outside in the (cold) sunshine nursing a pint of Guinness, so being the lazy sod I am, I just took a photo of that.</p>
<div class="wp-caption aligncenter" style="width: 421px"><a title="Guiness! by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4487644202/"><img src="http://farm5.static.flickr.com/4040/4487644202_5f62d8af28.jpg" alt="Guiness!" width="411" height="500" /></a><p class="wp-caption-text">Guinness: Last 600 (with ND) shot in the SX70</p></div>
<p>Now it was time to load the new film.  The first thing I had totally forgotten about is that this film won&#8217;t have those annoying nubs that I had gotten so used to circumventing on the 600 film; the film just slotted straight in.  TIP have produced 60 different darkslide designs, each with a different bizarre quote on them.  It&#8217;s an nice design addition, but I can&#8217;t see many people truley being bothered about trying to collect them all (afterall, polaroid fans have mostly grown out of their &#8216;pokemon&#8217; phase).  I should also note at this point that the packing of PX100 is very nicely designed (although some people have harshly said they wish TIP had spent longer working on the film than the packing): an embossed PX logo on a plain white box, with a tear strip revealing a smaller box inside containing the film. Anyway, back to the review..</p>
<p>I taped the aformentioned darkslide (&#8216;saddle a hippopotamus&#8217; if anyone cares) to the front of my SX70 and lined up a shot of my now slightly depleted pint.  The camera spat the film out at a slightly weird angle so the darkslide did not cover one side of the photograph, which led me to believe it was definitely handy to have a photographer&#8217;s assistant handy to grab the film as it is eject and guide it directly under the darkslide (or use the &#8216;baggy method&#8217;).  The photo was probably exposed to the sunlight for approximately 3 seconds before I grabbed it (along with the darkslide) and placed it into my armpit of my jumper and waited&#8230;</p>
<p>..2 nervous minutes, and another quarter of a pint later I took a look at the photo:</p>
<div id="attachment_2929" class="wp-caption aligncenter" style="width: 310px"><a class="thickbox" title="81643938" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/81643938.jpg"><img class="size-medium wp-image-2929" title="81643938" src="http://www.holgablog.com/wp-content/uploads/2010/04/81643938-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">a quick camera phone snap of the photo taken at the time</p></div>
<p style="text-align: left;">and the later scan:</p>
<div class="wp-caption aligncenter" style="width: 419px"><a title="My first PX100 Shot: Guiness by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4487646080/"><img src="http://farm5.static.flickr.com/4020/4487646080_2a91cc375c.jpg" alt="My first PX100 Shot: Guiness" width="409" height="500" /></a><p class="wp-caption-text">My first PX100 photo!</p></div>
<p style="text-align: left;">
<p>&#8216;Success&#8217; I thought at the time, afterall, compared to many peoples completely white shots I had managed to get something that resembled a pint of Guinness! As this photo shows however, there are a few problems.  The main one shows just how sensitive that blue opaque layer is.  That side of the photo was in sunlight for a matter of seconds yet has managed to completely overexpose that part of the photograph. As mentioned above, it&#8217;s probably better to have someone to &#8216;catch&#8217; the film as it emerges in order for you to ensure the photo lines up with the darkslide completely. Alternatively try the bag method, which seems to work even better with regards to contrast.  This problem with the layer also explains why people are having success with ND filters: they are underexposing the image  with the ND filter but allowing it to develop in less &#8216;light tight&#8217; conditions which balances out the exposure problem (but possibly at the cost of contrast).</p>
<p>Another little discussed issue related to this opacity layer is the social aspect.  One of the joys of Polaroid integral film is that you take a photograph and then watch it develop in front of your eyes, much of the time with your friends.  PX100 takes away that step as you quickly try to stash the photo away for a a few minutes in a dark warm place.</p>
<p>Spurred on by at least getting &#8216;something&#8217; on the new film, and determined to master its idiosyncrasies, I carried on to a new location (well not <em>straight </em>away, I did have a few more pints, it was a bank holiday afterall!).</p>
<p style="text-align: left;">After taking the first photo I could see how people think the film is better for &#8216;still life&#8217; situations.  Those situations where speed isn&#8217;t key, where the subject doesn&#8217;t change and where you can quickly deal with the film after taking the photo.  A daffodil seemed a logical choice as we walked through some gardens. This time, after taking the photo, my photographer&#8217;s assistant/fiance made sure the ejected photo was aligned and then placed into my slightly warmer armpit (it was up a hill in the gardens!).  After waiting two minutes, the result was as follows:</p>
<div id="attachment_2930" class="wp-caption aligncenter" style="width: 310px"><a class="thickbox" title="81646447" rel="same-post-2922" href="http://www.holgablog.com/wp-content/uploads/2010/04/81646447.jpg"><img class="size-medium wp-image-2930" title="81646447" src="http://www.holgablog.com/wp-content/uploads/2010/04/81646447-300x225.jpg" alt="another camera phone photo taken 'in the field'" width="300" height="225" /></a><p class="wp-caption-text">another camera phone photo taken &#39;in the field&#39;</p></div>
<div class="wp-caption aligncenter" style="width: 416px"><a title="Daffodil by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4486996345/"><img src="http://farm3.static.flickr.com/2687/4486996345_c13a5b71f5.jpg" alt="Daffodil" width="406" height="500" /></a><p class="wp-caption-text">the scan </p></div>
<p style="text-align: center;">
<p style="text-align: left;">After taking this photo it occured to me that this film has some interesting characteristics.   It seems like the development can be pushed and pulled by varying the temperature and length at that particular temperature. In this instance, spending longer in a warmer armpit (mmm lovely) seemed to increase contrast and produce a warmer image. This opens up a huge door for people to manipulate the image by varying the development time and temperature. Score one for the return of polaroid manipulation! Be careful when using your armpit or other body part to warm the film: gunk from the blue layer can come off the film and stick to your clothes, leading to a blue, and then white stain (that does wash out though!).</p>
<p style="text-align: left;">I took another shot <a href="http://www.flickr.com/photos/goatkarma/4487651984/in/set-72157620593892627/" target="_blank">outdoors</a> and then returned indoors, where people seem to prefer using PX100 due to better heat and light control.</p>
<div class="wp-caption aligncenter" style="width: 427px"><a title="Resting by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4486998497/"><img src="http://farm3.static.flickr.com/2788/4486998497_0a4a2cf641.jpg" alt="Resting" width="417" height="500" /></a><p class="wp-caption-text">Resting</p></div>
<p style="text-align: left;">I wanted to take a more &#8216;standard&#8217; polaroid shot (i.e not a still life close up!) to see how the film would handle in a more normal situation. This is not the strongest asset of the PX100 film, the results are quite pleasing in this instance, but the film does seem to produce quite &#8216;soft&#8217; images compared to other integral polaroid film.  This can be used to your advantage in certain situations (people are saying this film is &#8216;artistic&#8217;, although in my opinion, a medium can never be intrinsically &#8216;artistic&#8217;, but rather contribute to an art form), but would be better if you actually had control over this. Perhaps it&#8217;s the Holga fan inside me, but I do like the results, however, the film isn&#8217;t the answer if you want take some party snaps of your friends in the pub!</p>
<p style="text-align: left;"><a title="Toes by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4487651984/"><img class="alignleft" src="http://farm5.static.flickr.com/4033/4487651984_17a2fa677c_m.jpg" alt="Toes" width="200" height="240" /></a>But it probably was never going to be like that, TIP are marketing this &#8216;First Flush&#8217; film as &#8216;<em>experimental material that will produce changing results depending on light conditions and temperature</em>.&#8217;  Many people seemed to expect that TIP&#8217;s first film would be a straight off perfect polaroid replica, but like most complicated processes, it is going to take them time to perfect.  Whether you agree with their &#8216;Lomography&#8217; style marketing or not, TIP have been reasonably up front with the description of the product, perhaps not just the steps you need to take to get a result!</p>
<p style="text-align: left;">The marketing could be their problem however. This film is not for Polaroid beginners, it requires that you follow a certain process in order to get a result.  In order for TIP to reach their sales goals, they need to introduce integral film to new customers but this could be tricky until they can release a more &#8216;normal&#8217; film to the masses. I can see a teenager picking up a camera and some PX100 from Urban Outfitters and just tossing it aside after only managing to get a couple of acceptable shots from a pack.  An accessible film it is not.</p>
<p style="text-align: left;">It also raises the question whether TIP should have spent more time to perfect their process to produce a more stable product, but the same people that are lambasting TIP for releasing this film would be the same people that would be angry if TIP delayed the project for a year. They would have been damned if you do/damned if you don&#8217;t.  They have taken a risk, and only the sales figures will reveal if has been a successful risk.</p>
<p style="text-align: left;">
<p>In conclusion, I don&#8217;t think that this is the film Doc &amp; co at the Impossible Project envisaged a year ago when they set themselves a deadline for releasing new integral products, they have had to adapt and market the film as something different as the complexity of the situation unravelled. It probably is not the film they would have liked to release first either, IT IS unstable, IT ISN&#8217;T the replacement standard polaroid film people were hoping  but it is just a first step.  The film, however, is something entirely different, another film to add into rotation. It&#8217;s an alternative that can be used to great effect in certain situations, but definitely not all.  It is a great stepping stone for TIP who felt they needed to get a product to market.</p>
<h2>Good</h2>
<ul>
<li>New film..yay! Integral film is back</li>
<li>Has a completely different look to normal integral film-almost sepia-like.</li>
<li>Manipulation is back! People have sucessfully manipulated images including <a href="http://www.flickr.com/photos/sx70manipulator/4488275358/in/pool-px100">sx70Manipulator</a> and<a href="http://www.flickr.com/photos/polaroidium/4487744174/" target="_blank"> Polarodium</a> . it&#8217;s early days, but results look promising.</li>
<li>You can push/pull development and adjust contrast by adjust light exposure, development temperature and development length.</li>
<li>Nice &#8216;small touches&#8217; with the packaging and darkslide.</li>
<li>Buying this film will support TIP allowing more R&amp;D into other true-replacement films.</li>
<li>Might lower prices of other older stock on eBay.</li>
</ul>
<h2>Bad</h2>
<ul>
<li>The film is unstable and highly reactionary to light and temperature (bad and good!) leading to inconsistant photos.</li>
<li>Results tend to be slightly blurry and soft.</li>
<li>Not for beginners.</li>
<li>You can&#8217;t watch the film develop in front of your eyes.</li>
<li>Will take a lot of time and practice to truely master.</li>
<li>An inconvenient product: takes effort (and sticky tape) to get the best results.</li>
<li>Shipping costs are very high to most countries.</li>
</ul>
<h2>Look Further</h2>
<ul>
<li><a href="http://www.flickr.com/groups/px100/">The PX100 Flick Group</a></li>
<li><a href="http://www.flickr.com/photos/goatkarma/tags/px100/">A few more of my PX100 shots</a></li>
<li><a href="http://www.the-impossible-project.com/" target="_blank">Buy PX100 on The Impossible Project&#8217;s website</a></li>
</ul>
<p>So what are your views? Had a chance to try the film yet? Like its characteristics? Found a reliable workflow? Let us hear your views.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/04/review-impossible-project-px100-silver-shade-first-flush/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>The Impossible Backlash</title>
		<link>http://www.goatkarma.com/2010/04/the-impossible-backlash/</link>
		<comments>http://www.goatkarma.com/2010/04/the-impossible-backlash/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 10:07:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography Articles]]></category>
		<category><![CDATA[Polaroid]]></category>
		<category><![CDATA[px100]]></category>
		<category><![CDATA[the impossible project]]></category>

		<guid isPermaLink="false">http://www.holgablog.com/?p=2862</guid>
		<description><![CDATA[<img width="188" height="124" src="http://www.goatkarma.com/wp-content/uploads/2010/04/px-188x124.jpg" class="attachment-medium wp-post-image" alt="px" title="px" />Now that the dust has settled after a frenzy of excitement over the launch of The Impossible Project&#8217;s (TIP) new film the PX 100 Silver  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="124" src="http://www.goatkarma.com/wp-content/uploads/2010/04/px-188x124.jpg" class="attachment-medium wp-post-image" alt="px" title="px" /><p></p><br /><p style="text-align: center;">
<p style="text-align: left;">Now that the dust has settled after a frenzy of excitement over the <a href="http://www.bjp-online.com/public/showPage.html?page=873885" target="_blank">launch</a> of The Impossible Project&#8217;s (TIP) new film the <a href="http://shop.the-impossible-project.com/shop/film/sx70/fi_sx70_1_px100_ff" target="_blank">PX 100 Silver Shade</a>, people are starting to wonder if it will live up to the hype.</p>
<p style="text-align: left;">In this modern-age of twittering press conferences line-by-line and avid fan-boys drooling over prototypes, the Impossible Project took a leaf out of Apple&#8217;s (Mac)book and took a very web2.0 approach to marketing this film: create grass-roots support, push a strong community-based web presence and the sales will follow.  The problem, as with all hyped product launches,  is that now the product has been launched and people have had a chance to take a look at the film and the reception is mixed.</p>
<p style="text-align: left;"><span id="more-2862"></span></p>
<p style="text-align: left;">Before going into specifics, we need to get this achievement into context;  TIP managed to completely re-invent the chemistry and techniques for a film that most people thought they would never see again.  They also succeeded in creating a vibrant, exciting and very vocal community around polaroid that never really existed before Polaroid&#8217;s demise. For this they must be applauded.</p>
<p style="text-align: left;">But there are problems unfortunately.  Now the first batches have been delivered, many (but we must point out, not all) users are dissapointed.  Avid <a href="http://www.flickr.com/groups/px100/discuss/72157623584107031/" target="_blank">polaroid fans</a> and the <a href="http://www.1854.eu/2010/03/handson_with_impossible_px100.html" target="_blank">media</a> are complaining that the product, rushed to market to reach TIP&#8217;s self-imposed deadlines, appears unstable, unreliable and unfinished.  TIP&#8217;s website <a href="http://www.the-impossible-project.com/projects/pxfilm/quickstart" target="_blank">lists some steps</a> in order to prevent common problems, but even if people follow these steps to the letter they are still achieving dissapointing results.  These problems beg the question: Should TIP have released this film in its current state?  It&#8217;s definitely a gamble that TIP thought was worth taking: releasing an unstable product and relying on the goodwill and excitement of fans to follow through with a sale, but risk alienating these very same fans with a poor product.</p>
<p style="text-align: left;">We have talked about the PX100 film being unstable and unreliable, but what are the problems specifically? There are two specific problems that seem to irk some users: temperature and the opacity layer.  TIP state the film must be developed in a temperature range between 17-24C. Unfortunately, releasing the film at the beginning of Spring in the Europe and the US (TIP&#8217;s biggest markets) leaves very little outdoor areas with that kind of temperature.  Most successful shots so far on flickr show indoor &#8216;still life&#8217; style shots. The second, and perhaps more crucial problem is the opacity layer.  The blue opacity layer shields the rest of the chemistry from light while it is being process(i.e after the rollers in the camera have broken the pod,spread the chemicals and spat out the photo). The problem with this layer is that it is not truely opaque and still lets light in if left to develop in the open environment. This leads to completely &#8216;white&#8217; photos as they overexpose in ambient light while developing.  To combat this, users are taping darkslides, or even bags to their camera to protect the film as it ejects.</p>
<p style="text-align: left;">
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/31166167@N07/4477241786/"><img title="rommel© on Flickr has taped a darkslide to his SX-70 to protect the film from light as it ejects" src="http://farm5.static.flickr.com/4045/4477241786_331ec8bbf7.jpg" alt="rommel© on Flickr has taped a darkslide to his SX-70 to protect the film from light as it ejects" width="500" height="313" /></a><p class="wp-caption-text">rommel© on Flickr has taped a darkslide to his SX-70 to protect the film from light as it ejects</p></div>
<p style="text-align: left;">
<p style="text-align: left;">Fans are also divided on the types of shots that are produced. Some people like the &#8216;warm&#8217;, &#8216;sepia-tinged&#8217;, and &#8216;arty&#8217; results produced with PX100, while others hate the &#8216;soft&#8217; and &#8216;muddy&#8217; results.</p>
<p style="text-align: left;">It&#8217;s not all doom and gloom however. Polaroid fans are a resilient and adpatable bunch who will learn tricks and techniques to get the most out of this new film (For example,<a href="http://www.flickr.com/photos/minimalbob/" target="_blank"> Minimal Bob </a>is develop the film in ovens and microwaves!). The sensitivitiy to light and temperature can eventually be used in the photographer&#8217;s favour allowing greater manipulation of the image. PX100 has a steep learning curve that is perhaps hampered by the steep price, but remember, this is just the &#8216;first flush&#8217;, TIP will improve their chemistry over time to hopefully eventually release a stable film product that justifies the premium price tag. Given enough packs of film, and enough time, we are sure you could produce fantastic results to match some of the stunning &#8216;roids shown in the <a href="http://www.the-impossible-project.com/projects/collection/px100" target="_blank">Impossible Collection</a> and in the <a href="http://www.flickr.com/groups/px100/pool/" target="_blank">PX 100 Flickr Group</a>.</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 284px"><a href="http://www.the-impossible-project.com/projects/collection/px100"><img class=" " title="&quot;le van son&quot; Boris Zuliani Vietnam, 2010" src="http://www.the-impossible-project.com/projects/pix/px100/Boris_Zuliani2_l.jpg" alt="&quot;le van son&quot; Boris Zuliani Vietnam, 2010" width="274" height="332" /></a><p class="wp-caption-text">&quot;le van son&quot; Boris Zuliani Vietnam, 2010 from the Impossible Collection</p></div>
<p style="text-align: left;">We love what TIP wants to achieve and really hope they succeed in creating a sustainable business model serving up good quality film.  Releasing a film that many fans have had to pay upwards of £2.50/$4 per shot only for it to produce unreliable images could lead to a backlash.   This move by TIP could seriously backfire as internet fanbases are a fickle bunch, and can turn at a drop of a hat.</p>
<p style="text-align: left;">
<p>We have three packs of PX100 at Holgablog towers ready for testing. We are just waiting for some decent light and temperatures (fat chance in Scotland!) before jumping in!  Expect a full test shortly.</p>
<p>What do Holgablog readers think?  Was it a bad move by the TIP to release this film, is it just a case of overinflated fan hype that TIP could never live up to?  Are you happy with your PX100?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/04/the-impossible-backlash/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Found Films</title>
		<link>http://www.goatkarma.com/2010/03/found-films/</link>
		<comments>http://www.goatkarma.com/2010/03/found-films/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 18:36:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Photography Articles]]></category>

		<guid isPermaLink="false">http://www.holgablog.com/?p=2501</guid>
		<description><![CDATA[<img width="188" height="141" src="http://www.goatkarma.com/wp-content/uploads/2010/03/4373868926_d6c6e4f849_b-188x141.jpg" class="attachment-medium wp-post-image" alt="4373868926_d6c6e4f849_b" title="4373868926_d6c6e4f849_b" />People have been taking photographs for over 150 years and finding negatives and films from this long history of photography can be exciting and fascinating.  &#8230;]]></description>
			<content:encoded><![CDATA[<img width="188" height="141" src="http://www.goatkarma.com/wp-content/uploads/2010/03/4373868926_d6c6e4f849_b-188x141.jpg" class="attachment-medium wp-post-image" alt="4373868926_d6c6e4f849_b" title="4373868926_d6c6e4f849_b" /><p></p><br /><p>People have been taking photographs for over 150 years and finding negatives and films from this long history of photography can be exciting and fascinating. However, this can be a minefield leading to copyright and taste issues.  Hopefully, this article will help to keep you on the right track, suggesting places to find films or negatives, how best to look after them, scan them, and even research their origins.  I will also look into the copyright  and ownership of these films.</p>
<p><span id="more-2501"></span></p>
<p>Before I begin looking at these matters, it&#8217;s worth defining exactly what a &#8216;found film&#8217; is.  There are two types of found film: processed and unprocessed.  Unprocessed films are those yet to be developed and, depending on their age, may require a great deal of care when processing them.   These days, most unprocessed rolls come from cameras that have been sold with a half-used film inside, but as the camera world moves into digital, these are becoming hard to find.   Film negatives/positives that have already been developed are often called processed found film.  These type of found films are much more common, and have the advantage (or disadvantage depending on how you look at it) of displaying what is on the film in advance.  Although true found film aficionados scoff at already-processed film, it can still be fun and rewarding to uncover some negatives that haven&#8217;t seen the light of day for 80+ years.</p>
<h2>A matter of taste, a matter of interest</h2>
<div class="wp-caption alignleft" style="width: 199px"><a title="100 French Portraits (1945-1950) 1/100 by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/4398058863/"><img title="I have a large box of portraits from 1945-1950, but it's a bit creepy!" src="http://farm3.static.flickr.com/2230/4398058863_6ecd9b6000_m.jpg" alt="100 French Portraits (1945-1950) 1/100" width="189" height="240" /></a><p class="wp-caption-text">I have a large box of portraits from 1945-1950 to scan, but it&#39;s a bit creepy!</p></div>
<p>Recently when I was at a flea market (Barras, Glasgow), I saw trays and trays of old Kodachrome slides from the 1970&#8242;s. All had nice  typed labels,  organised by holiday destination: &#8216;Lanzarote&#8217;; &#8216;Majorca&#8217;, &#8216;S<ins datetime="2010-03-04T19:14" cite="mailto:Elizabeth%20Andrews"></ins>an Francisco&#8217;, &#8216;Mother&#8217;. Wait a minute…MOTHER?!? Even though these boxes of slides were practically being given away I didn&#8217;t buy them.  They failed for me on two counts: taste and interest.  The holiday snaps from the 70&#8242;s were just two old people taking the same holiday photos that people take today at the same destinations (the one good thing was that the quality of the colour on the slides was still excellent: a testament to Kodachrome). They were of little interest, other than to the relatives of the people in the slides. The second failure was taste. I had no interest in the slightly creepy photos of some grown man&#8217;s &#8216;mother&#8217; (who still calls there mum &#8216;mother&#8217; when they are 50 years old themselves?!).  This raised an interesting question: when is it ok to buy/acquire found film? When is it ok to scan the film and publish on the internet? Is there a cut-off date for found film or is it solely a question of interest and taste?</p>
<p>I personally don&#8217;t think there&#8217;s any cut off date for found film (as noted above, it comes down to interest), however you have to bear in mind that the newer a film is, the more chance that a) someone depicted in the photo is still around, and b) That person will see the photo if you decide to publish it online.  Found film from the 1990&#8242;s can still be as interesting as glass plate negatives from the 1890&#8242;s.  The opposite is true: film from 1887 can be just as boring as Aunt Vera&#8217;s holiday snaps from 1996.</p>
<h2>The thrill is in the hunt?</h2>
<div class="wp-caption aligncenter" style="width: 510px"><a title="Paddys Market RIP by goat karma, on Flickr" href="http://www.flickr.com/photos/goatkarma/3534861255/"><img title="Paddy's Market, purveyor of fine junk" src="http://farm3.static.flickr.com/2119/3534861255_7db438df94.jpg" alt="Paddys Market RIP" width="500" height="316" /></a><p class="wp-caption-text">Paddy&#39;s Market, purveyor of fine junk</p></div>
<p style="text-align: left;">Some people love it. Some hate it. Searching for old &#8216;stuff&#8217; at jumble sales, flea markets and yard sales make some people giddy with glee, others cannot stand the rummaging around junk and prefer to buy items from the comfort of their own home or a proven retailer.  Both have their merits, but where will you get the best results?</p>
<p>Depending on your location, flea markets and their ilk (car boot sales, yard sales etc) can be a goldmine for found film.  As mentioned above, half-shot film can be found in old cameras and processed film (especially slides) can be found by the sack load at flea markets (mainly due to house clearances).  The problem with the processed stuff is they are not that interesting: most are family or holiday snaps.  You can still find good film at flea markets, but it does require persistence to get anything and for a decent price (most vendors think old=worth $$$ which is not always the case).</p>
<p>Another option, if you are not in the flea-hunting mood, is &#8216;proper&#8217; shops. Either antique or specialist photography shops normally sell old photos, and sometimes old negatives. The negatives tend to be pre-war glass plate negatives, as they hold their value well and are considered &#8216;antiques&#8217; by the dealers.  The negatives found in these types of stores tend to be incredibly expensive: one such shop in Paris was selling standard 1940&#8242;s colour glass plate negatives of Switzerland for €15 each, and the seller had hundreds.</p>
<p>Paris leads me onto a strange anomaly: mainland Europe, and more specifically France.  Flea markets and jumble sales normally yield more modern films, but in France, the spiritual home of photography, you can pick up incredibly old negatives for very little money, if you know where to look (small shops/flea markets in non-tourist parts of the country and cities).</p>
<p>The final place to look is eBay.  Most versions of eBay have &#8216;old photographic images&#8217; sections which contain negatives for sale. The good thing about eBay is you know what you are getting, but the downside is you know what you are getting. The thrill of the hunt is gone, plus you very often pay a premium.  You also have to get incredibly lucky; many negatives on eBay may be old, but they are dull dull dull. Unprocessed film is hard to find on eBay these days too, with a few odds and ends appearing every so often.</p>
<h2>Developing  storing and treating</h2>
<div id="attachment_2746" class="wp-caption alignleft" style="width: 310px"><a class="thickbox" title="PEC12-exercise extreme caution when using" rel="same-post-2501" href="http://www.holgablog.com/wp-content/uploads/2010/03/CHPEC12.JPG"><img class="size-medium wp-image-2746" title="PEC12-exercise extreme caution when using" src="http://www.holgablog.com/wp-content/uploads/2010/03/CHPEC12-300x300.jpg" alt="PEC12-exercise extreme caution when using" width="300" height="300" /></a><p class="wp-caption-text">PEC12-exercise extreme caution when using</p></div>
<p>Developing found film can be tricky depending on its age. If you really care about finding out what is on the film, there are specialist companies(such as <a href="http://www.rockymountainfilm.com/oldfilm.htm" target="_blank">Rocky Mountain Film</a>) that develop old film using specialist slow-speed, low-temperature, high contrast developers to get the best results with black and white film.  If you want to try developing found b&amp;w film at home, Kodak HC 110 is the developer of choice to use due to the developer&#8217;s success in reducing fogging. If the film is colour, and over 20 years old, people tend to develop the colour film as b&amp;w as the colour dyes deteriorate faster than b&amp;w, and you should still get the silver based layer.</p>
<p>Cleaning negatives can be difficult and hazardous depending on the type of negative used.  If you have normal (i.e. non glass plate) negatives, you can rinse them in cold water and a touch of photoflo to try and clean them up and remove stubborn dust. You can also use a chemical called PEC-12 in small quantities to remove mould and marks, however be extremely careful with your negatives and always try out your cleaning process on a single negative first (preferably one you wouldn&#8217;t mind losing), and always take extra care with the emulsion side of the film.</p>
<p>If the negatives are glass plate, you hit a whole different mine-field. There are two general types of glass plate negative: wet</p>
<div id="attachment_2747" class="wp-caption alignright" style="width: 250px"><a class="thickbox" title="This glass negative requires some serious cleaning!" rel="same-post-2501" href="http://www.holgablog.com/wp-content/uploads/2010/03/4373124851_ca1ce526c8_m.jpg"><img class="size-full wp-image-2747" title="This glass negative requires some serious cleaning!" src="http://www.holgablog.com/wp-content/uploads/2010/03/4373124851_ca1ce526c8_m.jpg" alt="This glass negative requires some serious cleaning!" width="240" height="180" /></a><p class="wp-caption-text">This glass negative requires some serious cleaning!</p></div>
<p>and dry plate.  Older glass plate negatives tended to be collodion-based wet plate, with much more fragile chemistry for cleaning. Newer (post 1900) negatives were dry plate using a gelatine based layer and were much more robust and uniform than their wet cousins. There is one major rule to follow with glass plate negatives: leave it to a professional. You can clean the negatives with dust spray and a light brush, but unless you know the exact composition of the negative you should not use any type of liquids or liquid cleaner (for example, some gelatine layers can wash off with water!).</p>
<p>For more information you can consult the UMCA technical sheet copied on <a href="http://www.phototakers.com/forum/archive/4x5-glass-negative-8773.htm" target="_blank">this page</a>.</p>
<p>Storing negatives again depends on their type. If the film is normal, non-glass, store the negatives in suitable negative sleeves in a dry, stable-temperature environment. If you have glass plate negatives, store them in sleeves, vertically (long edge down) in storage boxes.</p>
<h2>Researching</h2>
<p>Some people bother, some people don&#8217;t. I personally love researching old photos!  It&#8217;s fun making up your own stories behind found film, but it&#8217;s also satisfying to find out the true story behind the same physical item you hold in your hands that someone else did many years ago.</p>
<div id="attachment_2669" class="wp-caption alignleft" style="width: 344px"><a class="thickbox" title="amiens" rel="same-post-2501" href="http://www.holgablog.com/wp-content/uploads/2010/02/amiens.jpg"><img class="size-full wp-image-2669 " title="Amiens Cathedral 1914 and 2006" src="http://www.holgablog.com/wp-content/uploads/2010/02/amiens.jpg" alt="" width="334" height="226" /></a><p class="wp-caption-text">Amiens Cathedral c1914 and 2006</p></div>
<p>The first steps in researching found film is location. This can be split up into two lines of enquiry: where did you get the film, and what is depicted on the film. The first one is easier, where did you get the film? Does the seller know any history?  The second line of enquiry, locations in the film, can be a bit more difficult.  Are there any landmarks visible? Can you figure out the country? Are there any buildings or signs in the background?  You will be surprised how easy it is these days to find out more information on the internet from just one small lead. An example of this is some unpublished Great War glass plate negatives that I acquired. I knew they were French due to the seller explaining where they were from (an old photographer’s studio near Le Mans, France), and a few of the photographs had a cathedral in them. I simply searched for a list of French Cathedrals and eventually found the one that matched: Amiens.</p>
<p>Once you have a physical location for the shots, the real research can begin. You can search the internet for the location and the rough date or event depicted in the photos, you can consult Google maps to locate buildings, you can even check with local historical societies and museums.  The internet has made the world a smaller place, and all it takes is a few emails or discussion postings to find out a lot of information.</p>
<p style="text-align: center;">
<h2>Copyright</h2>
<p>This can be a tricky deeply-grey area, which differs around the world and also differs depending on when the photograph was taken. Here are the basics.</p>
<ul>
<li>If      the photographs were taken between the dates of 1st January 1945-1st      August 1989 and you have purchased the film then you are the first owner,      and have full rights on the photographs.</li>
<li>If      the photographs are of a person, unless they were commissioned by that      person, they have no rights on the photographs.</li>
<li>If      the photographs were taken after 1st August 1989, then standard copyright      applies:  the photo will be copyright of the photographer until 70      years after their death (unless commissioned).</li>
<li>If      the film is pre 1920, you should be relatively safe, unless the negatives      are explicitly owned by someone else (i.e. a family).</li>
</ul>
<p>Please note these are just rough outlines, and please do not base any legal decisions on these.  Holgablog can accept no legal responsibility for any action that might occur following these guidelines.</p>
<h2>Look Further</h2>
<ul>
<li><a href="http://oldfilmproject.emirco.net/" target="_blank">Massive collection of interesting tidbits regarding developing old film</a></li>
<li><a href="http://www.flickr.com/groups/foundfilm/" target="_blank">Flick Found Film group</a></li>
<li><a href="http://westfordcomp.com/updated/found.htm" target="_blank">Some interesting Found Films on Westford Comp</a></li>
<li><a href="http://www.sturm.to/blog2/archives/category/photoblog-found-film" target="_blank">More Found Film-Pacific Tides</a></li>
<li><a href="http://colinrobinson.com/care.html" target="_blank">Care of old photos by Colin Robinson</a></li>
<li><a href="http://www.flickr.com/photos/goatkarma/sets/72157623349791219/" target="_blank">More unpublished WW1 negatives I found</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.goatkarma.com/2010/03/found-films/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
