<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>I am Ad Taylor</title>
	
	<link>http://www.iamadtaylor.com</link>
	<description>The portfolio and blog of Ad Taylor</description>
	<lastBuildDate>Thu, 20 May 2010 22:49:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/iamadtaylor" /><feedburner:info uri="iamadtaylor" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Using Lessn to handle your international domains</title>
		<link>http://feedproxy.google.com/~r/iamadtaylor/~3/Ax5aq93w_do/</link>
		<comments>http://www.iamadtaylor.com/using-lessn-to-handle-your-international-domains/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 12:51:48 +0000</pubDate>
		<dc:creator>Ad Taylor</dc:creator>
				<category><![CDATA[shorts]]></category>

		<guid isPermaLink="false">http://www.iamadtaylor.com/?p=378</guid>
		<description><![CDATA[A while ago I read Sam Browns ]]></description>
			<content:encoded><![CDATA[<p>A while ago I read <span class="vcard"><a href="http://sam.brown.tc/" title="Sam Brown">Sam Browns</a></span> <a href="http://sam.brown.tc/entry/417/how-to-register-an-international-domain-name" title="How to register an International domain name>post</a>on <a href="http://sam.brown.tc/entry/417/how-to-register-an-international-domain-name" title="How to register an International domain name">&#8216;How to register an International domain name&#8217; </a> and immediately got domain envy. A few minutes later I snapped up <a href="http://pɐ.com/">http://pɐ.com/</a> as a solution to my bloated domain name eating into my 140 characters. </p>
<p>It comes as no surprise that I have no &#8216;ɐ&#8217; or &#8216;p&#8217; key on my keyboard and I needed a better solution than having to construct it on my clipboard using the <a href="http://www.sevenwires.com/play/UpsideDownLetters.html" rel="nofollow">upside-down generator </a>.</p>
<p> Enter <a href="http://shauninman.com/archive/2009/08/17/less_n">Lessn</a>.</p>
<h2>Lessn</h2>
<p>To cut a long story short, I downloaded and installed <a href="http://shauninman.com/archive/2009/08/17/less_n">Lessn</a> and made a little change that constructed the international domain for me. Whilst I am aware all this is doing is outputting the new domain, it adds it into my blogging &#8216;workflow&#8217; . Not to mention the benefits of <a href="http://shauninman.com/archive/2009/10/12/tweetie_2_and_less_n">Tweeties custom shorteners</a> [though I am yet to play with this]</p>
<p>The changes are simple, change line 7 &#038; 8 of <code>/-/index.php</code> to:</p>
<pre name="code" class="php">
define('CUSTOM_DOMAIN', 'www.uıɐɯopɹnoʎ.com');
define('LESSN_DOMAIN', 	preg_replace('#^www\.#', '', CUSTOM_DOMAIN));
</pre>
<img src="http://feeds.feedburner.com/~r/iamadtaylor/~4/Ax5aq93w_do" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.iamadtaylor.com/using-lessn-to-handle-your-international-domains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.iamadtaylor.com/using-lessn-to-handle-your-international-domains/</feedburner:origLink></item>
		<item>
		<title>A beautiful little book Zoë’s Nanna gave us</title>
		<link>http://feedproxy.google.com/~r/iamadtaylor/~3/nJdzAg97iI4/</link>
		<comments>http://www.iamadtaylor.com/a-beautiful-little-book-zoe%e2%80%99s-nanna-gave-us/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:08:41 +0000</pubDate>
		<dc:creator>Ad Taylor</dc:creator>
				<category><![CDATA[shorts]]></category>

		<guid isPermaLink="false">http://adtaylor.tumblr.com/post/351489512</guid>
		<description><![CDATA[<img src="http://25.media.tumblr.com/tumblr_kwrxmiswEd1qac5teo1_400.jpg"/><br/><br/><p>A beautiful little book <a href="http://www.zoewithdots.com">Zoë’s</a> Nanna gave us</p>]]></description>
			<content:encoded><![CDATA[<img src="http://25.media.tumblr.com/tumblr_kwrxmiswEd1qac5teo1_400.jpg"/><br/><br/><p>A beautiful little book <a href="http://www.zoewithdots.com">Zoë’s</a> Nanna gave us</p><img src="http://feeds.feedburner.com/~r/iamadtaylor/~4/nJdzAg97iI4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.iamadtaylor.com/a-beautiful-little-book-zoe%e2%80%99s-nanna-gave-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.iamadtaylor.com/a-beautiful-little-book-zoe%e2%80%99s-nanna-gave-us/</feedburner:origLink></item>
		<item>
		<title>Perch Admin collapsable menu</title>
		<link>http://feedproxy.google.com/~r/iamadtaylor/~3/Tva0nCwJ7Hc/</link>
		<comments>http://www.iamadtaylor.com/perch-admin-collapsable-menu/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 09:20:22 +0000</pubDate>
		<dc:creator>Ad Taylor</dc:creator>
				<category><![CDATA[shorts]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Perch]]></category>

		<guid isPermaLink="false">http://www.iamadtaylor.com/?p=225</guid>
		<description><![CDATA[<p>My only gripe with the Perch admin interface was the landing page or more specifically the huge list of regions, I was finding that it looked daunting to new editors. This is something that Perch are looking at but I wanted a solution for the meantime. Unfortunately the solution is horribly hacky, involving altering the perch.js file.</p>]]></description>
			<content:encoded><![CDATA[<p>I <strong>promise</strong> that this will be my last post about <span class="vcard"><a href="http://www.grabaperch.com" class="url org">Perch</a></span>, I am starting to look somewhat obsessed.
</p>
<p>This hack was born out of necessity as I found that the admin <abbr title="User Interface">UI</abbr> on large <span class="vcard"><a href="http://www.grabaperch.com" class="url org">Perch</a></span> sites looked daunting to new editors.  Though the <abbr title="User Interface">UI</abbr> is beautiful and clean I was finding the lists would be endless and the editor could not find the page, let alone the region. This is something that Perch are looking at but I wanted a solution for the meantime. Unfortunately the solution is horribly hacky, involving altering the perch.js file.</p>
<h3>How to</h3>
<p>Add the following to the bottom of the perch.js file (found in the <code>your-perch-folder/assets/js/perch.js</code>)</p>
<pre name="code" class="javascript">
function pageTidy () {
	if($('td.page').length > 1) {
		resetToTidy();
		$('.page span').css({ cursor: 'pointer' });
		$('.page span').click(function() {
			resetToTidy();
			$(this).parent('td').parent('tr').addClass('currentPage');
			$('.currentPage').children('td').show();
			$('.currentPage').nextAll().each(function(index) {
				if($(this).css('display') == 'table-row'){
					return false;
				}
				$(this).show();
			});
		});
	}

}
function resetToTidy() {
	$('.d  tbody tr').hide();
	$('.shared').parent('tr').show();
	$('.shared').parent('tr').nextAll().each(function(index) {
		if($(this).children('td').hasClass('page')) {
			return false;
		}
		$(this).show();
	});
	$('.d tr').removeClass('currentPage');
	$('.page').parent('tr').show();
	$('.page').siblings('td').hide();
}
</pre>
<p>Then add <code>pageTidy();</code> to the init function. So it would now look like:</p>
<pre name="code" class="javascript">
var init	= function() {
		$('body').addClass('js');
		enhanceCSS();
		initPopups();
		hideMessages();
		pageTidy();
	};
</pre>
<h3>Warning</h3>
<p>Use at your own risk! I have found it seems to work happily on my project but I can&#8217;t imagine that it&#8217;s a good idea to be hacking away at core files. </p>
<img src="http://feeds.feedburner.com/~r/iamadtaylor/~4/Tva0nCwJ7Hc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.iamadtaylor.com/perch-admin-collapsable-menu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.iamadtaylor.com/perch-admin-collapsable-menu/</feedburner:origLink></item>
		<item>
		<title>Helvetical</title>
		<link>http://feedproxy.google.com/~r/iamadtaylor/~3/Wd9_l8p8TMI/</link>
		<comments>http://www.iamadtaylor.com/helvetical/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 16:13:17 +0000</pubDate>
		<dc:creator>Ad Taylor</dc:creator>
				<category><![CDATA[features]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Helvetical]]></category>
		<category><![CDATA[Helvetireader]]></category>
		<category><![CDATA[userstyle]]></category>

		<guid isPermaLink="false">http://www.iamadtaylor.com/?p=228</guid>
		<description><![CDATA[Pimping up Google Calendar, Helvetical is an extension of Helvetireader.]]></description>
			<content:encoded><![CDATA[<div style="padding:5px;border:1px solid #800000;background-color:#FFB3B4;color:#800000;margin: 10px 100px;">
<h2 style="color:#800000;text-shadow:none;">SMALL Helvetical update.</h2>
<p>Hi all. The new UI refresh of Google Cal is great, they have really done a brilliant job. Yet it hasn&#8217;t been too kind on Helvetical, making it unbearable to use. I set about trying to patch up the holes but the nature of a userstyle has made this an ugly and unproductive task. So I feel it is best to <strong>start from scratch</strong> again and build in some of the feature requests.</p>
<p>In the mean time, I have created a <a href="http://userstyles.org/styles/20669">patched up version</a> that makes the userstyle <strong>usable</strong> yet far from pretty. Download from <a href="http://userstyles.org/styles/20669">http://userstyles.org/styles/20669</a>. Obviously the alternative is to disable it for a while. </p>
<p>It would be great if we could use this time to build up a feature list for Helvetical 2. So leave a comment or <a href="mailto:hi@iamadtaylor.com?subject=Helvetical" >mail me</a>. BTW, this isn&#8217;t some excuse to put the project on the back-burner — I have penciled in the end of the month to complete.</p>
<p>Cheers, Ad</p>
</div>
<div class="container top">
<div id="image-holder" class="maincontent">
		<img src="/wp-content/themes/iamadtaylor/images/features/2009/helvetical_screenshot.png" title="Screen shot of Helvetical"/>
	</div>
<p><!-- #image-holder --></p>
<div id="heading" class="sidecontent">
<h1><span>Helvetical</span> pimping up Google Calendar.</h1>
<p>I know I am not alone in my love/hate relationship for Google&#8217;s apps, the functionality is brilliant but the UI is <strong>ugly</strong>. <a href="http://www.google.com/calendar" title="Google Calendar">Google Calendar</a> is most definitely not the exception to the rule, it hurts my eyes.</p>
<p><a href="http://www.iamadtaylor.com/helvetical" title="Helvetical">Helvetical</a> extends the work done by <span class="vcard"><a href="http://hicksdesign.co.uk/" title="Jon Hicks" class="fn url">Jon Hicks</a></span> on <a href="http://helvetireader.com/" title="Helvetireader">Helvetireader</a>, turning the mayhem of the Google interface into something that doesn&#8217;t offend. It was created for use with Fluid.app but I&#8217;m sure you can hack the CSS to work for your needs.</p>
<p>Please note that this is an on-going project so things are a bit rough around the edges. I hope to update soon.</p>
</p></div>
<p><!-- #heading --></p>
<div class="clear"></div>
</div>
<p><!-- .container --></p>
<div class="container bottom">
<div  class="maincontent">
<h2>Usage</h2>
<p>Thanks to the help of <span class="vcard"><a href="http://desandro.com/" class="fn url">David DeSandro</a></span>, Helvetical now works in Greasemonkey, Stylish, Fluid and others.</p>
<p>First of all you either need to have <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a>, <a href="http://hetima.com/safari/stand-e.html">Stand</a>, <a href="http://fluidapp.com/">Fluid</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a> installed. Relevant instructions can be found if you follow the links, the easiest option seems to be Greasemonkey for either Safari 4 or Firefox.</p>
<ul>
<li>Install the <a href="/userscripts/helveticalRELEASE/helvetical.user.js" title="Helvetical userscript">user <strong>script</strong></a> here.</li>
<li>Install the <a href="http://userstyles.org/styles/20669" title="Helvetical user style">user <strong>style</strong></a> from <a href="http://userstyles.org">userstyles.org</a>.</li>
</ul>
<h2>New icon</h2>
<p>I love using <a href="http://www.flickr.com/photos/joshuabrewer/3064355028/sizes/o/in/set-72157610267728694/">the icon</a> that <span class="vcard"><a href="http://www.flickr.com/photos/joshuabrewer/" class="fn url">Joshua Brewer</a></span>made for Helvetireader, it&#8217;s clean, Swiss and still sits nicely in the, oh so glossy, dock. I knocked up a quick version for you <a href="http://fluidapp.com/">Fluid.app</a> and <a href="http://prism.mozilla.com/">Prism</a> users out there so that HelvetiCal and Helvetireader can sit better on your dock.<br />
<a href="http://www.flickr.com/photos/adhoc01/4372688338/sizes/o/">Find it here.</a></p>
<p><img src="/wp-content/themes/iamadtaylor/images/features/2009/helvetical_icon_in_dock.png" class="h-icon" title="HelvetiCal icon in the dock next to the Helvetireader icon"/></p></div>
<div  class="sidecontent clearfix">
<h2>Updates</h2>
<p>I shall post all updates here but if you want to know about them as they happen follow <a href="http://twitter.com/HelveticalNews">@HelveticalNews</a></p>
<ul>
<li>Version 1.1 &#8211; Now with coloured &#8216;Other Calendars&#8217; and support for https:// hosted calendars.</li>
<li>Version 1.2 &#8211; Cleaned up for use with Google Gears [Help from <span class="vcard"><a href="http://twitter.com/martijnvdven" class="fn url">Martijn van der Ven</a></span>].</li>
<li>Version 1.3 &#8211; Fixed Firefox specific bugs (tasks, labs items,hover states etc)</li>
<li>Version 1.4 — Events are now colour coded in the &#8216;Months&#8217; section.</li>
<li>Version 1.5 — <strong>Maintenance</strong>. Moving elements back to their original position and filling in the new found blanks. Recommended.</li>
<li>Version 1.6 — Added RSVP colouring and line-throughs. Thanks to <span class="vcard"><a href="http://infoneer.net/" class="fn url">Chris Barth</a></span> for his help.</li>
</ul>
<h2>Useful links</h2>
<ul>
<li><a href="http://fluidapp.com/" title="Fluid">Fluid</a></li>
<li><a href="http://www.josefrichter.com/blog/offline-gmail-google-docs-helvetireader-etc-using-fluid/" title="Offline Gmail, Google Docs, Helvetireader, etc. using Fluid">Offline Gmail, Google Docs, Helvetireader, etc. using Fluid</a> by Josef Richter</li>
<li><a href="http://www.flickr.com/groups/fluid_icons/" title="Fluid Icons">Fluid Icons</a> – Though I do plan to have one for Helvetical soon.</li>
<li><a href="http://www.helvetireader.com/" title="Helvetireader">Helvetireader</a></li>
</ul></div>
<div class="clear"></div>
</div>
<img src="http://feeds.feedburner.com/~r/iamadtaylor/~4/Wd9_l8p8TMI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.iamadtaylor.com/helvetical/feed/</wfw:commentRss>
		<slash:comments>82</slash:comments>
		<feedburner:origLink>http://www.iamadtaylor.com/helvetical/</feedburner:origLink></item>
		<item>
		<title>Archive Extractor – A Perch Hack / Plugin</title>
		<link>http://feedproxy.google.com/~r/iamadtaylor/~3/MCv5k8K0o60/</link>
		<comments>http://www.iamadtaylor.com/archive-extractor-a-perch-plugin/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 10:29:57 +0000</pubDate>
		<dc:creator>Ad Taylor</dc:creator>
				<category><![CDATA[features]]></category>
		<category><![CDATA[Perch]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.iamadtaylor.com/?p=148</guid>
		<description><![CDATA[A plugin to help with the extraction of content itmes from the Perch database.]]></description>
			<content:encoded><![CDATA[<h1>Archive Extractor &#8211; A Perch Hack / Plugin</h1>
<div id="text-wrap">
<p class="edit note"><strong>Edit :</strong> Changes made as per Drew&#8217;s advice. Now deals with &#8217;shared&#8217; content and custom table prefix.</p>
<p>For sometime now I have been meaning to post this little hack I came up with — however I completely forgot. This is a hack for the <strong>brilliant</strong> &#8216;little&#8217; <abbr  title="Content managment system">CMS </abbr>, <a href="http://grabaperch.com/" title="Perch CMS">Perch</a> .<br/> It was made through necessity as I <strong>wanted</strong> to use Perch but I <strong>needed</strong> to be able to have news items from other pages on the front page. To my surprise it was nice and easy, and although I&#8217;m sure it will be inefficient, it seems pretty fast.</p>
<p>It is an incredibly simple plugin that pulls the JSON out of the Perch database and returns it. It doesn&#8217;t try to do anything else — no formatting, no nothing — just the way I like it.</p>
<p class="note"><strong>Standard disclaimer :</strong> I am not a server-side kinda guy, I can not take responsibility for anything this plugin does to your installation of Perch, server security or general happiness. That said, I can&#8217;t see how these lazy few lines of code could screw up much.</p>
<h2 class="installation">Installation</h2>
<p>Download the file and put it in your Perch &#8220;plugins&#8221; folder. This isn&#8217;t mandatory for it to work but just seems like a logical place to put it. Watch out when you next need to update Perch — Back up!!</p>
<h2 class="usage">Usage</h2>
<p>You must include the file at the top of the page you wish to use Archive Extractor. If your Perch directory is called &#8220;perch&#8221; then the include could be something like this:
</p>
<pre name="code" class="php">
	 include('perch/plugins/archiveExtractor/archiveExtractor.php');
</pre>
<p>To use just call the function with the 2 variables, the Perch Content name (e.g &#8220;News Item&#8221;) and the path to the page it is on (e.g &#8220;/news/index.php&#8221;). With the data returned you can iterate through the items and pull from it the data you want. <br/> Maybe best seen as an example:</p>
<pre name="code" class="php">
	// Call function with variables.
	$newsArchive = archiveExtractor('News Item','/news/index.php');
	// Check to see if there are any results
	if($newsArchive) {
		$limit = count($newsArchive);
		// Loop through all results
		for ($i=0; $i < $limit; $i++) {
			// In the example the word 'title' refers to the id of a content type
			// from the 'News Item' content template
			echo '
<li>
<h5>'.$newsArchive[$i]->title.' Trip</h5>

 on '.$newsArchive[$i]->information.'.</li>

';
		}
	}
</pre>
<p>If you want to extract data from shared regions, simply leave out the content path. It took me a while to understand the point of this (as this was recommended by <a href="http://grabaperch.com" class="vcard fn url">Drew</a>) but obviously it would be handy if you only wanted to extract part of the data (i.e. title and date).</p>
<pre name="code" class="php">
$newsArchive = archiveExtractor('News Item');
</pre>
<p><a href="/resources/archiveExtractor.zip" title="Download Archive Extrator" ><span class="download">Download</span></a><br />
<a href="#" title="Click to see plugin code" class="show-code">Click to view code</a></p>
<div class="clear"></div>
<div class="code-hide">
<pre name="code" class="php">
/*
	Archive Extractor - A Perch Hack
	By Ad Taylor - http://www.iamadtaylor.com
	For usage see :
	Creative Commons Attribution-Share Alike 2.0 UK: England &#038; Wales Licence
*/

function archiveExtractor($contentKey,$contentPage = '*')
{
	$query = queryDB($contentKey,$contentPage,$limit);
	if ($query) {
		foreach ($query as $key => $value) {
			$json = $value;
		}

		return PerchUtil::json_safe_decode($json);
	} else {
		return NULL;
	}

}

function queryDB($contentKey,$contentPage) {

	require_once $_SERVER['DOCUMENT_ROOT'].'/edit/config/config.php';

	$link = @mysql_connect(PERCH_DB_SERVER, PERCH_DB_USERNAME, PERCH_DB_PASSWORD);

	if (!$link) {
		return NULL;
	}
	else {
		mysql_select_db(PERCH_DB_DATABASE,$link);
		$sql = "SELECT `contentJSON` FROM `".PERCH_DB_PREFIX."contentItems` WHERE `contentKey` LIKE '$contentKey' AND `contentPage` LIKE CONVERT(_utf8 '$contentPage' USING latin1) OR '*' COLLATE latin1_swedish_ci";
		$result = mysql_query($sql, $link);
		return mysql_fetch_assoc($result);
		mysql_close($link);

	}
}</pre>
</div>
</div>
<p><!-- #text-wrap --></p>
<img src="http://feeds.feedburner.com/~r/iamadtaylor/~4/MCv5k8K0o60" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.iamadtaylor.com/archive-extractor-a-perch-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.iamadtaylor.com/archive-extractor-a-perch-plugin/</feedburner:origLink></item>
	</channel>
</rss>
