<?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>The Devign Path</title>
	<atom:link href="http://thedevignpath.com/feed" rel="self" type="application/rss+xml" />
	<link>http://thedevignpath.com</link>
	<description>design + development = devign</description>
	<lastBuildDate>Sat, 21 Jan 2012 14:29:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Mercurial tips</title>
		<link>http://thedevignpath.com/archives/172</link>
		<comments>http://thedevignpath.com/archives/172#comments</comments>
		<pubDate>Sat, 21 Jan 2012 14:29:21 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/172</guid>
		<description><![CDATA[I have been using Mercurial as my version control system for a while now. Here are some pointers I picked up along the way. Mercurial won&#8217;t forget files! &#8216;hg forget &#60;filename&#62;&#8217; returns &#8216;No such file or directory&#8217; Although Mercurial can (&#8230;)</p><p><a href="http://thedevignpath.com/archives/172">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I have been using Mercurial as my version control system for a while now. Here are some pointers I picked up along the way.</p>
<h4>Mercurial won&#8217;t forget files! &#8216;hg forget &lt;filename&gt;&#8217; returns &#8216;No such file or directory&#8217;</h4>
<p>Although Mercurial can perform commits, adds etc. from any location in the folder structure it seems like forget needs to be started from the right spot. Meaning when you type &#8216;hg status&#8217; you see something like -</p>
<p> <code>
<p>&lt;path&gt;/&lt;filename&gt;</p>
<p> </code>
<p>so naturally I tried</p>
<p> <code>
<p>hg forget &lt;path&gt;/&lt;filename&gt;</p>
<p> </code>
<p>But that path did not resolve to the file I was trying to target from my current location in the hierarchy. This works -</p>
<p> <code>
<p>hg forget &lt;relative-path&gt;/&lt;filename&gt;</p>
<p> </code><br />
<h4>How to restore a file from Mercurial?</h4>
<p>First, use <em>hg grep</em> to find the deleted file you wish to recover. The output of this command will show you the last revision for which the file was present, and the path to the deleted file. </p>
<p>Second, run <em>hg revert -r &lt;revision number&gt; &lt;path to deleted file&gt;</em> The deleted file will now be in your working copy, ready to be committed back into head.    <br /><a href="http://stackoverflow.com/questions/2175427/how-can-i-recover-a-removed-file-in-mercurial-if-at-all">http://stackoverflow.com/questions/2175427/how-can-i-recover-a-removed-file-in-mercurial-if-at-all</a></p>
<h4>Mercurial push returns HTTP Error: 500 (Permission denied)</h4>
<p> 
<p>Run <em>chown -R www-data /path/to/repos</em> on the server. It looks like this has to be done for every repository. Is it possible to run apache with higher privileges?    </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F172&amp;title=Mercurial%20tips"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to deploy an iOS application using an ad hoc distribution</title>
		<link>http://thedevignpath.com/archives/170</link>
		<comments>http://thedevignpath.com/archives/170#comments</comments>
		<pubDate>Sat, 21 Jan 2012 14:10:57 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/170</guid>
		<description><![CDATA[Go into www.developer.apple.com &#62; Login &#62; iOS dev centre &#62; Provisioning portal In Provision &#62; Distribution generate a new profile using &#34;ad hoc&#34; distribution Download the provisioning profile. Add it to iTunes using drag and drop or File &#62; Add (&#8230;)</p><p><a href="http://thedevignpath.com/archives/170">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<ul>
<li>Go into www.developer.apple.com &gt; Login &gt; iOS dev centre &gt; Provisioning portal</li>
<li>In Provision &gt; Distribution generate a new profile using &quot;ad hoc&quot; distribution</li>
<li>Download the provisioning profile. Add it to iTunes using drag and drop or File &gt; Add to Library</li>
<li>In Xcode create a new archive by right click on the project &gt; Edit scheme &gt; Archive &gt; Ok</li>
<li>In the Xcode &gt; Window &gt; Organizer window select the archive and click share</li>
<li>To use iTunes to sync the app select iOS App Store Package (.ipa)</li>
<li>Find the generated file in Finder and add to iTunes</li>
<li>Attach the device to iTunes and perform a sync to add the application</li>
</ul>
<p>See:   <br /><a href="http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/145-Distributing_Applications/distributing_applications.html">http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/145-Distributing_Applications/distributing_applications.html</a>    <br /><a href="https://developer.apple.com/library/ios/#recipes/xcode_help-scheme_editor/Articles/SchemeArchive.html#//apple_ref/doc/uid/TP40010402-CH6">https://developer.apple.com/library/ios/#recipes/xcode_help-scheme_editor/Articles/SchemeArchive.html#//apple_ref/doc/uid/TP40010402-CH6</a>    <br />https://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F170&amp;title=How%20to%20deploy%20an%20iOS%20application%20using%20an%20ad%20hoc%20distribution"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/170/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Driving TDD</title>
		<link>http://thedevignpath.com/archives/169</link>
		<comments>http://thedevignpath.com/archives/169#comments</comments>
		<pubDate>Wed, 27 Jul 2011 22:30:25 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[test driven]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/169</guid>
		<description><![CDATA[I have become inspired and convinced by the idea of test driven development. Kent Beck said it best when he said - We write code because that is our work and we write tests so that we know when we (&#8230;)</p><p><a href="http://thedevignpath.com/archives/169">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I have become inspired and convinced by the idea of test driven development. Kent Beck said it best when he said -</p>
<blockquote><p>We write code because that is our work and we write tests so that we know when we are done. </p>
<p>- Beck, K.&#160; <a href="http://www.amazon.co.uk/gp/product/0321278658/ref=as_li_ss_tl?ie=UTF8&amp;tag=thedevpat-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0321278658">Extreme Programming Explained: Embrace Change</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.co.uk/e/ir?t=&amp;l=as2&amp;o=2&amp;a=0321278658" width="1" height="1" /> </p>
</blockquote>
<p>Or something like that. </p>
<p>So I have started kicking the tires on the metaphorical test driven development car. I started reading this book on <a href="http://www.amazon.co.uk/gp/product/0321683919/ref=as_li_ss_tl?ie=UTF8&amp;tag=thedevpat-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0321683919">Test Driven JavaScript Development (Developer&#8217;s Library)</a>. You can read the first few chapters for free on <a href="http://goo.gl/GUlVP">Safari books online</a>. I think I’m going to get a subscription to Safari books for a while since it might be cheaper for me given my reading habits. I digress.</p>
<p>So I was sitting at my desk and I had to do some AJAX thingy with a form and an email address as the input for a client’s website. It looked pretty straight forward. But how do I give some email validation feedback to the user? I am thinking a regex expression would be nice. But I am not a regex ninja so I might need a few goes at this and how do I know if it works? The last thing I want is to prevent the user from entering valid email addresses – false positives are better than false negatives. Aha! How about I write some tests? </p>
<p>It took me a while and I had a lot of help from <a href="http://http://fightingforalostcause.net/misc/2006/compare-email-regex.php">this guy’s blog</a> but I came up with a regular expression that passed enough test cases for me to feel satisfied with it. Simply run it in your browser’s developer’s console to see it go.</p>
<p>&#160;</p>
<p> <script src="https://gist.github.com/1110460.js"> </script></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F169&amp;title=Test%20Driving%20TDD"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/169/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forbidden words in JavaScript</title>
		<link>http://thedevignpath.com/archives/168</link>
		<comments>http://thedevignpath.com/archives/168#comments</comments>
		<pubDate>Thu, 05 May 2011 22:17:35 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/168</guid>
		<description><![CDATA[JavaScript has 3 forbidden words - With In Eval Eval is generally understood to perform poorly and to be unsafe. But what&#8217;s so bad about &#8216;with&#8217; and &#8216;in&#8217;? With It is sort of a quirk with JavaScript where the scope (&#8230;)</p><p><a href="http://thedevignpath.com/archives/168">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>JavaScript has 3 forbidden words -</p>
<ul>
<li>With </li>
<li>In </li>
<li>Eval </li>
</ul>
<p>Eval is generally understood to perform poorly and to be unsafe. But what&#8217;s so bad about &#8216;with&#8217; and &#8216;in&#8217;?</p>
<h2>With</h2>
<p>It is sort of a quirk with JavaScript where the scope of an operation changes when you use “with”. As with a few things in programming it is not that they can’t be used but they are often used badly. In JavaScript we are accustomed to the scope of “global” and functions. So a variable used in one function can’t be accessed by another function, right? Well when you use “with” you’re in ANOTHER scope, the scope of the thing you’re using. Let me explain.</p>
<p>Imagine you create a wipe function. It takes a cloth object and wipes a table. After you wipe a dirty table the cloth sadly becomes dirty. In JavaScript you could say –</p>
<p> <script src="https://gist.github.com/958078.js?file=with-example.js"></script>
<p>You can run this code in a browser console to see the results. If you look at this simple program at the end the cloth is clean but it is not blue, what happened? We were supposed to be in the scope of the “cloth” object which is how we set its property to clean but something weird happened and we couldn’t set the cloth’s colour. Uh oh! We ran into problems because the colour property was defined but JavaScript usually lets us define properties on the fly. </p>
<p>As you can see, there are some cases where you might want to use “with” but it can also lead to bugs which are unexpected and so difficult to debug. There’s a thread on <a href="http://stackoverflow.com/questions/61552/are-there-legitimate-uses-for-javascripts-with-statement">Stackoverflow</a> about it. My point of view is along the lines of what Alan Storm says.</p>
<h2>In</h2>
<p>My opinion is as a result of coming across a bug a long while ago. I remember trying to use “in” to iterate over some DOM nodes because I thought it was cool but strange things kept happening and I was lost as to why so I used another method. Much later I read about how it walks up the prototype chain (with respect to DOM nodes it’s a bit more complicated than that). That’s why it’s evil. Again, not because it is “wrong” but it causes more problems than it solves so it is better to avoid it and do what I know is going to work the way I want it to work.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F168&amp;title=Forbidden%20words%20in%20JavaScript"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/168/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet World &#8211; Earls Court, London</title>
		<link>http://thedevignpath.com/archives/160</link>
		<comments>http://thedevignpath.com/archives/160#comments</comments>
		<pubDate>Thu, 05 May 2011 21:52:15 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/?p=160</guid>
		<description><![CDATA[It has a cheesy name but there is a trade show event in London next week called – Internet World. The site doesn’t use comic sans anywhere and the speakers include Google, eBay, Microsoft and other trend setters. I won’t (&#8230;)</p><p><a href="http://thedevignpath.com/archives/160">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial; font-size: x-small;">It has a cheesy name but there is a trade show event in London next week called – Internet World. The site doesn’t use comic sans anywhere and the speakers include Google, eBay, Microsoft and other trend setters.</span></p>
<p><span style="font-family: Arial; font-size: x-small;"> </span></p>
<p><span style="font-family: Arial; font-size: x-small;">I won’t be attending but I’ll be checking the site and signing-up to the mailing list. Linkage below.</span></p>
<p><span style="font-family: Arial; font-size: x-small;"> </span></p>
<p><span style="font-family: Arial; font-size: x-small;">Newsletter archive</span></p>
<p><span style="font-family: Arial; font-size: x-small;"><a href="http://www.internetworld.co.uk/page.cfm/ID=74" target="_blank">http://www.internetworld.co.uk/page.cfm/ID=74</a></span></p>
<p><span style="font-family: Arial; font-size: x-small;"> </span></p>
<p><span style="font-family: Arial; font-size: x-small;">eCommerce and mCommerce theatre programme –</span></p>
<p><span style="font-family: Arial; font-size: x-small;"><a href="http://www.internetworld.co.uk/page.cfm/link=50" target="_blank">http://www.internetworld.co.uk/page.cfm/link=50</a></span></p>
<p>Videos from last years keynote</p>
<p><a href="http://seminarstreams.com/conference-seminars/internet-world/2010/seminars.aspx?key=keynotes">http://seminarstreams.com/conference-seminars/internet-world/2010/seminars.aspx?key=keynotes</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F160&amp;title=Internet%20World%20%26%238211%3B%20Earls%20Court%2C%20London"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/160/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synchronize vim using Dropbox</title>
		<link>http://thedevignpath.com/archives/145</link>
		<comments>http://thedevignpath.com/archives/145#comments</comments>
		<pubDate>Tue, 22 Mar 2011 22:01:39 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[tip of the day]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/145</guid>
		<description><![CDATA[If you don’t know what Dropbox is, where have you been? Here’s how I use Dropbox to synchronize my vim installation on Windows XP at work and Windows 7 at home. If you don’t know what vim is, don’t worry (&#8230;)</p><p><a href="http://thedevignpath.com/archives/145">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you don’t know what <a href="https://www.dropbox.com/">Dropbox</a> is, where have you been? Here’s how I use Dropbox to synchronize my vim installation on Windows XP at work and Windows 7 at home. If you don’t know what vim is, don’t worry about it. Maybe this tip will help you install something cool and keep your settings across your operating system(s).</p>
<ul>
<li>Get a compatible version for the operating systems you will be running it on <a href="http://www.vim.org/download.php">gvim73_46.exe</a> is working on Windows XP and 7</li>
<li>Install into root Dropbox directory using the default settings. I did this first on Windows XP but you don’t have to. Vim will create a directory tree like \Vim\&lt;vim version&gt;\</li>
<li>Migrate your vim settings into new Vim directory in Dropbox into respective locations e.g. copy over _vimrc from &#8220;Vim&#8221; directory of old vim installation and<br />
from &#8220;\Vim\&lt;old version&gt;\&#8221; copy over plugins and colors folders</li>
<li>Install Vim on other operating system – in my case Windows 7 but don’t copy over the Vim files. I just wanted vim registered on Windows. I unchecked anything that said “create” but left features that would register Vim on this OS.</li>
</ul>
<p>&nbsp;</p>
<ul></ul>
<p><a href="http://thedevignpath.com/wp-content/uploads/2011/03/installing-gvim-to-dropbox-my-settings.png"><img class="alignnone size-medium wp-image-148" title="installing-gvim-to-dropbox-my-settings" src="http://thedevignpath.com/wp-content/uploads/2011/03/installing-gvim-to-dropbox-my-settings.png" alt="installing gvim - my settings" width="960" height="540" /></a></p>
<p><a href="http://thedevignpath.com/wp-content/uploads/2011/03/installing-gvim-to-dropbox.png"><img class="alignnone size-medium wp-image-149" title="installing-gvim-to-dropbox" src="http://thedevignpath.com/wp-content/uploads/2011/03/installing-gvim-to-dropbox.png" alt="installing gvim to Dropbox root" /></a></p>
<p><a href="http://thedevignpath.com/wp-content/uploads/2011/03/gvim-running-with-my-settings.png"><img class="alignnone size-medium wp-image-150" title="gvim-running-with-my-settings" src="http://thedevignpath.com/wp-content/uploads/2011/03/gvim-running-with-my-settings.png" alt="vim running my settings from Windows XP on Windows 7" /></a></p>
<p>Done!</p>
<p>If you have problems with your settings not being in sync make sure that you are executing the vim executable out of your Dropbox folder.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F145&amp;title=Synchronize%20vim%20using%20Dropbox"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/145/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wrangling with SQL regular expressions</title>
		<link>http://thedevignpath.com/archives/124</link>
		<comments>http://thedevignpath.com/archives/124#comments</comments>
		<pubDate>Wed, 02 Mar 2011 20:30:51 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/?p=124</guid>
		<description><![CDATA[I have been doing some data wrangling recently. One problem I worked through was how to find all the instances of a new line character that had made it&#8217;s way into our database. After some researching the query looked like (&#8230;)</p><p><a href="http://thedevignpath.com/archives/124">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I have been doing some data wrangling recently. One problem I worked through was how to find all the instances of a new line character that had made it&#8217;s way into our database.</p>
<p>After some researching the query looked like this</p>
<p><script src="https://gist.github.com/851667.js?file=find-new-line-character.sql"></script></p>
<p>
Then I asked myself if I could strip out this character. Hmm.. So I came up with this &#8211;
</p>
<p><script src="https://gist.github.com/851678.js?file=strip-new-line-character.sql"></script> </p>
<p>I would have liked to use this in an update statement but I couldn&#8217;t crack that last piece of the puzzle. Can you?</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F124&amp;title=Wrangling%20with%20SQL%20regular%20expressions"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>404 Errors on your WordPress blog posts</title>
		<link>http://thedevignpath.com/archives/125</link>
		<comments>http://thedevignpath.com/archives/125#comments</comments>
		<pubDate>Sun, 27 Feb 2011 23:21:56 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[tip of the day]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/?p=125</guid>
		<description><![CDATA[If you start getting 404 errors when you click your posts in your WordPress blog try this Log into the dashboard Go to settings Change the permalink structure. Try those links. They should be working now. Change the permalink structure back (&#8230;)</p><p><a href="http://thedevignpath.com/archives/125">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>If you start getting 404 errors when you click your posts in your WordPress blog try this</p>
<ul>
<li>Log into the dashboard</li>
<li>Go to settings</li>
<li>Change the permalink structure. Try those links. They should be working now.</li>
<li>Change the permalink structure back to what it was. They should still be working.</li>
</ul>
<ol></ol>
<p>I am not entirely sure why this worked but it did for me, I hope it does for you.</p>
<p>May the force be with you</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F125&amp;title=404%20Errors%20on%20your%20WordPress%20blog%20posts"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX cross-domain request using iframes</title>
		<link>http://thedevignpath.com/archives/118</link>
		<comments>http://thedevignpath.com/archives/118#comments</comments>
		<pubDate>Sun, 27 Feb 2011 23:06:13 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/?p=118</guid>
		<description><![CDATA[I had a situation where I had to send a form to a 3rd party email subscription management thingy. But every time I posted the form using jQuery the browser was killing it because of cross-domain restrictions. I asked around (&#8230;)</p><p><a href="http://thedevignpath.com/archives/118">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I had a situation where I had to send a form to a 3rd party email subscription management thingy. But every time I posted the form using jQuery the browser was killing it because of cross-domain restrictions. I asked around the web dev team and came up with this solution. Simply create a URL fragment from the form inputs, and use it as the source of an iframe. Of course, as long as you don&#8217;t care what happens to the data this is fine &#8211; it&#8217;s basically best-effort.</p>
<p>Caveats are that if the domain the client is on is HTTPS the URL fragment also has to be HTTPS but if the destination server doesn’t have a valid SSL certificate the submission fails. It fails silently in Chrome, Firefox and IE7. Sometimes it triggers a message in IE8 but it definitely triggers a security pop-up in IE6 (of course).</p>
<p>I found that Google chrome is the best browser for developing this because it actually tells you what is going on in the console and in the iframe – the rest just act like nothing happened.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F118&amp;title=AJAX%20cross-domain%20request%20using%20iframes"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome Extensions&#8211;short development primer</title>
		<link>http://thedevignpath.com/archives/110</link>
		<comments>http://thedevignpath.com/archives/110#comments</comments>
		<pubDate>Sat, 13 Nov 2010 08:00:06 +0000</pubDate>
		<dc:creator>iampeterbanjo</dc:creator>
				<category><![CDATA[Development Tutorials]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[google chrome extensions]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://thedevignpath.com/archives/110</guid>
		<description><![CDATA[I think a browser extension is the best place to get started because it&#8217;s easier to see immediately how an extension ties together. To create a &#8220;hello world&#8221; browser extension we&#8217;ll need - manifest.json The properties of our extension are (&#8230;)</p><p><a href="http://thedevignpath.com/archives/110">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I think a browser extension is the best place to get started because it&#8217;s easier to see immediately how an extension ties together.</p>
<p>To create a &#8220;hello world&#8221; browser extension we&#8217;ll need -</p>
<p><strong>manifest.json</strong></p>
<p>The properties of our extension are described in a JavaScript object (<a href="https://developer.mozilla.org/en/json">JSON</a>). This tells Chrome what kind of extension we are creating (which affects where the icon gets placed) and other useful details that the user sees. The format is something like this -</p>
<p><script src="https://gist.github.com/675172.js"> </script></p>
<p>Required properties &#8211; if we get any of these wrong an error will be shown</p>
<ul>
<li>Dictionary keys must use double quotes</li>
<li>Version must be specified</li>
</ul>
<p>Recommended properties -</p>
<ul>
<li>name</li>
<li>type</li>
<li>description</li>
<li>icons -</li>
</ul>
<p><strong>popup.html</strong></p>
<p>This is the page that will be displayed when a user clicks on our extension icon. Imagine it is a proper HTML page with head, body and everything. We even don&#8217;t have to insert html, head or body tags although most extensions do.</p>
<p><strong>icons</strong></p>
<p>In order to display an icon on the extension management page we have to specify a 128&#215;128 px version of our icon through the &#8220;icons&#8221; property So we&#8217;ll need two icons &#8211; one 128px square and another 19px square. An easy way is to create a 128 x 128 px icon in a png format and also save it as a 19 x 19 px version. You can name them &#8220;icon_128.png&#8221; and &#8220;icon.png&#8221; respectively.</p>
<p>That&#8217;s all we need for now.</p>
<p><strong>Installation</strong></p>
<p>Download this file and unzip it - <strong><a href="http://thedevignpath.com/wp-content/uploads/2010/11/chrome_extension_hello_world.zip">Google Chrome Extension &#8211; hello world</a></strong></p>
<p>In Chrome click on the &#8220;Settings&#8221; icon (the spanner/ratchet) and select &#8220;Extension&#8221;. This will take you to the extension management page.</p>
<p>In the top right corner click on &#8220;Developer mode&#8221;. This will allow us to load an extension on our computer.</p>
<p>Click on &#8220;Load unpacked extension&#8221; and navigate to the location of the unzipped extension.</p>
<p>Once loaded an icon will appear in Chrome outside of the address bar &#8211; to the right.</p>
<p>If you click on this you will the contents of popup.html appear</p>
<p>That&#8217;s it for now.</p>
<p>Make a comment or post any questions that you have. <img src='http://thedevignpath.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fthedevignpath.com%2Farchives%2F110&amp;title=Google%20Chrome%20Extensions%26ndash%3Bshort%20development%20primer"><img src="http://thedevignpath.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://thedevignpath.com/archives/110/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

