<?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>Complex Compulsions</title>
	<atom:link href="http://complexcompulsions.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://complexcompulsions.com/wordpress</link>
	<description>Blog and Portfolio of Jeremy Worboys</description>
	<lastBuildDate>Sun, 22 Jan 2012 08:56:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pure CSS-Challenge</title>
		<link>http://complexcompulsions.com/wordpress/739/pure-css-challenge/</link>
		<comments>http://complexcompulsions.com/wordpress/739/pure-css-challenge/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 12:14:05 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=739</guid>
		<description><![CDATA[A CSS3 tweet challenge I couldn't resist!]]></description>
			<content:encoded><![CDATA[<p>Earlier today my friend <a href="http://twitter.com/#!/taybenlor">@taybenlor</a> tweeted the following:</p>
<p><em>Today&#8217;s pure-css challenge: Duplicate this dribbble.com/shots/235024-F…. My attempt so far jsfiddle.net/taybenlor/da4Z…</em></p>
<p>Of course the challenge was instantly accepted <img src='http://complexcompulsions.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Source Image: <a href="http://dribbble.com/shots/235024-F-R" target="_blank">Here</a><br />
My Result: <a href="http://jsfiddle.net/jworboys/9wUHJ/4/" target="_blank">Here</a></p>
<p>I think pretty darn close using only pseudo elements, the only thing missing is the striping on the inner wall.</p>
<p>I challenge anyone to get closer!</p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/739/pure-css-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robo&#8217;s Computers</title>
		<link>http://complexcompulsions.com/wordpress/729/robos-computers/</link>
		<comments>http://complexcompulsions.com/wordpress/729/robos-computers/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 09:17:20 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=729</guid>
		<description><![CDATA[Complete WordPress theme with custom post types for Robo's Computers.
]]></description>
			<content:encoded><![CDATA[<p><strong>The Client:</strong> Robo&#8217;s Computers (LEC Dubbo)</p>
<p><strong>Project Description:</strong> Create a complete, user-centric, database driven website designed to draw consumers attention and drive clients to the business.</p>
<p><a target="_blank" href="http://lecdubbo.com">Visit site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/729/robos-computers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telstra APN Settings</title>
		<link>http://complexcompulsions.com/wordpress/726/telstra-apn-settings/</link>
		<comments>http://complexcompulsions.com/wordpress/726/telstra-apn-settings/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 21:01:31 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Self Notes]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=726</guid>
		<description><![CDATA[Telstra Telstra – Internet Name: Telstra Internet APN: Telstra.internet Proxy: Port: Username: Password: Server: MMSC: MMS Proxy: MMS Port: MCC: 505 MNC: 01 Authentication Type: CHAP APN Type: default Telstra – Internet Name: Telstra Internet APN: Telstra.wap Proxy: 10.1.1.181 Port: 80 Username: Password: Server: wap.telstra.com/wap MMSC: MMS Proxy: MMS Port: MCC: 505 MNC: 01 Authentication [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Telstra</strong></p>
<p><strong>Telstra – Internet</strong><br />
Name: Telstra Internet<br />
APN: Telstra.internet<br />
Proxy:<br />
Port:<br />
Username:<br />
Password:<br />
Server:<br />
MMSC:<br />
MMS Proxy:<br />
MMS Port:<br />
MCC: 505<br />
MNC: 01<br />
Authentication Type: CHAP<br />
APN Type: default</p>
<p><strong>Telstra – Internet</strong><br />
Name: Telstra Internet<br />
APN: Telstra.wap<br />
Proxy: 10.1.1.181<br />
Port: 80<br />
Username:<br />
Password:<br />
Server: wap.telstra.com/wap<br />
MMSC:<br />
MMS Proxy:<br />
MMS Port:<br />
MCC: 505<br />
MNC: 01<br />
Authentication Type: CHAP<br />
APN Type: default</p>
<p><strong>Telstra – MMS</strong><br />
Name: Telstra MMS<br />
APN: Telstra.mms<br />
Proxy:<br />
Port:<br />
Username:<br />
Password:<br />
Server:<br />
MMSC: http://mmsc.telstra.com:8002<br />
MMS Proxy: 10.1.1.181<br />
MMS Port: 80<br />
MMS Protocol: WAP 2.0<br />
MCC: 505<br />
MNC: 01<br />
Authentication Type: CHAP<br />
APN Type: mms</p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/726/telstra-apn-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice, Symantec Toggle Buttons Without Javascript</title>
		<link>http://complexcompulsions.com/wordpress/701/nice-symantec-toggle-buttons-without-javascript/</link>
		<comments>http://complexcompulsions.com/wordpress/701/nice-symantec-toggle-buttons-without-javascript/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 10:45:56 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=701</guid>
		<description><![CDATA[The idea of having a set of buttons that when you select one, all others unselect is not by any means new, though this has nearly always been accomplished in the past with Javascript and subsequent libraries/plugins, but what about people who run without Javascript? Why not do it with just CSS?]]></description>
			<content:encoded><![CDATA[<p>The idea of having a set of buttons that when you select one, all others unselect is not by any means new, though this has nearly always been accomplished in the past with Javascript and subsequent libraries/plugins. What about people who run without Javascript? Why not do it with just CSS?<span id="more-701"></span></p>
<h2>The Method</h2>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/jworboys/bkpNR/4/embedded/result"></iframe></p>
<p>The first step is to think about what we are trying to accomplish on the most basic level &#8211; from a list of buttons, allow the user to select only one. Therefore, it makes sense to use the HTML element designed to do exactly this, the radio input. Not only do radio inputs meet the requirements, they are 100% semantic for this purpose, they don&#8217;t require slow clunky javascript and still function as expected if the user has CSS turned off.</p>
<h2>The HTML</h2>
<p>The HTML is very simple, we create a form with some radio buttons. </p>
<p>The most important part of the code is that each radio <code>input</code> <strong>must</strong> have an associated <code>label</code>, and the <code>label</code> tag <strong>must</strong> come <strong><em>directly after</em></strong> the input tag.</p>
<p>Another thing to note is the <code>unselectable="on"</code> attribute on each <code>label</code> element. This attribute tells the browser not to let the user select the text contained with in this element. Making the <code>label</code>s act the same way <code>button</code> elements would.</p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/jworboys/bkpNR/4/embedded/html,result"></iframe></p>
<h2>The CSS</h2>
<p>There are only two things to note in the CSS.</p>
<p>First is <code>*[unselectable=on] { ... }</code>. This picks up all elements that we have said we don&#8217;t want the user to be able to select text in. Since this in a HTML5 attribute, adding this in the CSS lets older browsers know what to do with it.</p>
<p>Second thing to notice is the <code>input[type=radio]:checked+label</code> selector. This selector says &#8220;Find any input tag, with type &#8216;radio&#8217;, that is checked; then select the label tag directly adjacent to it.&#8221; This is what allows us to style the depressed buttons and also why it is important that the <code>label</code> tag comes <strong><em>directly after</em></strong> the <code>input</code> tag.</p>
<p><iframe style="width: 100%; height: 600px" src="http://jsfiddle.net/jworboys/bkpNR/4/embedded/css,result"></iframe></p>
<h2>Conclusion</h2>
<p>This method of creating toggle buttons with radio <code>input</code>s allows for, not only semantic websites, but also fast loading sites as we don&#8217;t have to download a chunk of Javascript, then wait for the DOM to load and render the page, then run through Javascript and re-rendering the page again. This is something I plan to implement in the future, as should anyone looking to create a well structured website.</p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/701/nice-symantec-toggle-buttons-without-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 Breadcrumbs</title>
		<link>http://complexcompulsions.com/wordpress/685/css3-breadcrumbs/</link>
		<comments>http://complexcompulsions.com/wordpress/685/css3-breadcrumbs/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 08:22:23 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Breadcrumbs]]></category>
		<category><![CDATA[CSS transform]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[no images]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=685</guid>
		<description><![CDATA[While designing a website for a client I decided it would be appropriate to include a breadcrumb navigation bar to easily browse a product list. To tie in with the rest of the website the navigation bar would need to have a gradient background, rounded corners and not use any images to do so.]]></description>
			<content:encoded><![CDATA[<p>While designing a website for a client I decided it would be appropriate to include a breadcrumb navigation bar to easily browse a product list. To tie in with the rest of the website the navigation bar would need to utilise CSS gradients for the background, rounded corners and not use any images to do so.<span id="more-685"></span></p>
<p>The website (so far) did not use any images for styling what-so-ever, this was a feature I wanted to hang on to. So, alas, the breadcrumb navigation was designed without the arrows, but still with rounded corners and CSS gradients for the newer browsers. After reading <a href="http://css-tricks.com/triangle-breadcrumbs/">Breadcrumb Navigation with CSS Triangles</a> by Chris Coyier a great idea struck me; why not use a CSS transform to create the corners, not only will I still be able to use CSS gradients for the background, but the points of the arrows will be clickable and interact nicely together.</p>
<p>After some quick maths and a bit of debugging I came to a pretty decent <a href="http://jsfiddle.net/jworboys/zuDxW/">solution</a>.</p>
<p><img class="alignnone size-medium wp-image-691" title="Breadcrumbs Screenshot" src="http://complexcompulsions.com/wordpress/wp-content/uploads/2010/11/Breadcrumbs.png" alt="CSS3 Breadcrumbs Screenshot" width="630" height="34" /><br />
<em>As viewed in Chrome</em></p>
<h2>HTML</h2>
<p><iframe style="width: 100%; height: 250px;" src="http://jsfiddle.net/jworboys/zuDxW/embedded/html,result" width="320" height="240"></iframe></p>
<h2>CSS</h2>
<p><iframe style="width: 100%; height: 880px;" src="http://jsfiddle.net/jworboys/zuDxW/embedded/css,result" width="320" height="240"></iframe></p>
<h2>Conclusion</h2>
<p>As a proof of concept, it was completely successful.</p>
<p>The benefits were all there:</p>
<ul>
<li>Arrows with borders</li>
<li>Background gradients</li>
<li>Rounded corners</li>
<li>No images</li>
</ul>
<p>There are a few drawbacks though:</p>
<ul>
<li>Not 100% semantic</li>
<li>Doesn&#8217;t fall back well with older browsers (will be fine with a bit of tweaking)</li>
<li>Safari doesn&#8217;t support stop points on the gradients, so you need to trial and error to get the colors right</li>
<li>The list-items are in reverse order in the list so they overlap correctly</li>
</ul>
<p>With a small amount of tweaking to degrade elegantly for older browsers, this should prove perfect for the situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/685/css3-breadcrumbs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Empty Folder Deleter</title>
		<link>http://complexcompulsions.com/wordpress/675/empty-folder-deleter/</link>
		<comments>http://complexcompulsions.com/wordpress/675/empty-folder-deleter/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 01:22:37 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Applications]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=675</guid>
		<description><![CDATA[A small .NET application for deleting empty directories from a selected parent.]]></description>
			<content:encoded><![CDATA[<h2>A small .NET application for deleting empty directories from a selected parent.</h2>
<h2>Todo</h2>
<ul>
<li>Add a settings area to allow filtering.</li>
</ul>
<h2>Changelog</h2>
<p><strong>v1.0.0</strong></li>
<ul>
<li>Initial release.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/675/empty-folder-deleter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wesley House Players</title>
		<link>http://complexcompulsions.com/wordpress/665/wesley-house-players/</link>
		<comments>http://complexcompulsions.com/wordpress/665/wesley-house-players/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:29:10 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=665</guid>
		<description><![CDATA[Convert existing Wesley House Players website to a dynamic Wordpress driven website.]]></description>
			<content:encoded><![CDATA[<p><strong>The Client:</strong> Wesley House Players</p>
<p><strong>Project Description:</strong> Convert an existing website to a dynamic WordPress driven website.</p>
<p><a target="_blank" href="http://www.wesleyhouseplayers.org.au">Visit site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/665/wesley-house-players/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Imagesnap From a PHP Script.</title>
		<link>http://complexcompulsions.com/wordpress/633/running-imagesnap-from-a-php-script/</link>
		<comments>http://complexcompulsions.com/wordpress/633/running-imagesnap-from-a-php-script/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 11:07:16 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=633</guid>
		<description><![CDATA[After a lot of failed research as to why I was unable to use imagesnap from a PHP script, I finally figured out why, and how to get it to work.]]></description>
			<content:encoded><![CDATA[<p>As part of a project I started a month or so ago I wanted to be able to take a photo from the iSight camera in current iMacs from an SSH terminal. To do this I came across <a href="http://iharder.sourceforge.net/current/macosx/imagesnap/">imagesnap</a>.</p>
<p>This satisfied my problem for a little while, but before long I wanted more functionality. This led me to creating a PHP script to call imagesnap and thus give me a web interface to the iSight camera. It all seemed to be working, my form was submitting and there were no PHP errors being thrown, but there was no file being created. I checked permissions, everything seemed fine. I SSHed in and ran imagesnap manually, everything worked fine. I googled for days but couldn&#8217;t find anything. I even scoured the source code of imagesnap to try to get some insight but to no avail.</p>
<p>Eventually I ran my PHP script from an SSH terminal to try to produce some sort of error and to my surprise everything worked fine, but back in the browser &#8211; nothing.</p>
<p>The next piece of the puzzle came whilst playing around imagesnap itself, apparently when it is executed as anyone but a regular user it does not find any devices. This meant when apache was calling the PHP who in turn was calling imagesnap, it was getting executed as the apache user and couldn&#8217;t find any devices to take the photo with. The fix was call the imagesnap as a regular user. The easiest way to do this is to set its owner to be a regular user and then set permissions to be set user ID on execution using chmod.</p>
<p><code>chown <em>username</em> imagesnap<br />
chmod 4755 imagesnap</code></p>
<p>Hopefully this will be useful for anyone else trying something similar.</p>
<p>For those interested I still have a few things to fix up before posting this app.</p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/633/running-imagesnap-from-a-php-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handbrake360</title>
		<link>http://complexcompulsions.com/wordpress/601/handbrake360/</link>
		<comments>http://complexcompulsions.com/wordpress/601/handbrake360/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 09:05:34 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Applications]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=601</guid>
		<description><![CDATA[A python script written to simplify ripping DVDs for playback on an Xbox 360.]]></description>
			<content:encoded><![CDATA[<h2>A python script written to simplify ripping DVDs for playback on an Xbox 360.</h2>
<p><strong class="attention">This script currently only works on Linux and OS X with <a href="http://handbrake.fr/downloads.php">HandbrakeCLI</a> somewhere in the <a href="http://en.wikipedia.org/wiki/Path_(variable)">PATH</a></strong></p>
<h2>Known Issues</h2>
<ul>
<li>Issues ending before rip is complete. <em>Fixed, but very poorly.</em></li>
</ul>
<h2>Todo</h2>
<ul>
<li>Select titles as a command line argument.</li>
<li>Impliment naming from a file.</li>
<li>Set cache directory as a command line argument.</li>
<li>Windows support.</li>
<li>Optimization.</li>
</ul>
<h2>Changelog</h2>
<p><strong>v1.1.3</strong ></p>
<ul>
<li>Fixed broken program cause by last update.</li>
</ul>
<p><strong>v1.1.2</strong ></p>
<ul>
<li>Fixed issue with title caching.</li>
<li>Re-enabled title caching and removed all warnings.</li>
<li>Fixed an error where no DVD would cause an infinite loop.</li>
</ul>
<p><strong>v1.1.1</strong></p>
<ul>
<li>Changed display of some prompts.</li>
<li>Disabled title caching as it will fail when ripping from disks.</li>
</ul>
<p><strong>v1.1.0</strong></p>
<ul>
<li>Now caches imdb lookups.</li>
<li>Cache level argument added.</li>
<li>Moved scanning for titles to it&#8217;s own function.</li>
</ul>
<p><strong>v1.0.1</strong></p>
<ul>
<li>Minor spelling/wording/bug fixes.</li>
<li>Fixed issue where in titles pulled from imdb did not decode entities.</li>
</ul>
<p><strong>v1.0.0</strong></li>
<ul>
<li>Implimented the imdb naming system.</li>
<li>Better argument parsing.</li>
<li>Further argument control.</li>
<li>Improved documentation.</li>
</ul>
<p><strong>v0.1.0</strong></p>
<ul>
<li>Basic application and functionality.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/601/handbrake360/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Funky Feet</title>
		<link>http://complexcompulsions.com/wordpress/577/funky-feet/</link>
		<comments>http://complexcompulsions.com/wordpress/577/funky-feet/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 10:49:26 +0000</pubDate>
		<dc:creator>Jem</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://complexcompulsions.com/wordpress/?p=577</guid>
		<description><![CDATA[Static website for Funky Feet.]]></description>
			<content:encoded><![CDATA[<p><strong>The Client:</strong> Funky Feet</p>
<p><strong>Project Description:</strong> To design small and effective website to advertise from.</p>
<p><a target="_blank" href="http://www.funkyfeet.com.au">Visit site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://complexcompulsions.com/wordpress/577/funky-feet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

