<?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>Web Deli ™ - Blog</title>
	<atom:link href="http://webdeli.com.au/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://webdeli.com.au/blog</link>
	<description>&#34;Serving fresh websites daily&#34;</description>
	<lastBuildDate>Wed, 21 Mar 2012 06:34:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Manage multi-site Git in your workflow</title>
		<link>http://webdeli.com.au/blog/?p=162&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manage-multi-site-git-in-your-workflow</link>
		<comments>http://webdeli.com.au/blog/?p=162#comments</comments>
		<pubDate>Wed, 21 Mar 2012 06:32:13 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[bitbucket]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[SSH Keys]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=162</guid>
		<description><![CDATA[Great development always happens under source‑control. In fact many developers rightly argue that what happens outside source‑control management isn&#8217;t really development at all. All projects Web Deli™ is engaged in are carried out under source control and by preference Git+ specifically. We also use the fantastic tools from time to time at github.com and more recently bitbucket.org (Atlassian) for &#8230; <a class="read-excerpt" href="http://webdeli.com.au/blog/?p=162">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_182" class="wp-caption alignleft" style="width: 390px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2012/03/genetic_img1.png"><img class="size-full wp-image-182" title="genetic_img" src="http://webdeli.com.au/blog/wp-content/uploads/2012/03/genetic_img1.png" alt="" width="380" height="244" /></a><p class="wp-caption-text">SSH Key management</p></div>
<p>Great development always happens under source‑control.</p>
<p>In fact many developers rightly argue that what happens outside source‑control management isn&#8217;t really development at all.</p>
<p>All projects Web Deli™ is engaged in are carried out under source control and by preference Git+ specifically. We also use the fantastic tools from time to time at <a title="GitHub" href="https://github.com/webdeli">github.com</a> and more recently <a href="http://bitbucket.org">bitbucket.org</a> (<a title="Atlassian" href="http://www.atlassian.com/">Atlassian</a>) for hosted repositories.</p>
<p>The challenge that comes up as we work in dynamic teams and on different projects or at a client&#8217;s site office for a period of time is access management across different locations.</p>
<p>To solve this challenge -  project specific SSH keys are generated for each new project. This allows us to enable secure access to the repository for the duration of the project and allows for a division between project and post-project access management in a way that does not break or interfere access at other sites.</p>
<p>The following post demonstrates how to create a project specific key. We configure then key management on our development platform (Mac OS X). The following is one method, but certainly not the only approach.</p>
<p>First we want to create a new key for an example project for Nokia. Open Terminal and issue the following command:</p>
<pre class="brush: plain; title: Code:; notranslate">ssh-keygen -b 4096 -C &quot;This is the Nokia project key&quot; -f nokia_project_rsa -N MySecretPassword -t rsa </pre>
<p>So what does this code do:</p>
<ol>
<li>&#8216;ssh-keygen&#8217; &#8211; This is the command used to create our new SSH project key. The rest of the sting are the options described below:</li>
<li>&#8216;-b&#8217; &#8211; This option specifies our key-size in number of bits, because we all love a ridonculous level of security, the resulting key-size in our example is 4096 bits.</li>
<li>&#8216;-C&#8217; &#8211; This option allows us to specify a comment for our generated key.</li>
<li>&#8216;-f&#8217; &#8211; This option specifies the name of the files to be output.</li>
<li>&#8216;-N&#8217; &#8211; This option specifies the passphrase for the private key</li>
<li>&#8216;-t&#8217; &#8211; Finally this option specifies type of key to create: RSA in this example.</li>
</ol>
<p>That should result in the following output:</p>
<pre class="brush: plain; title: Code:; notranslate">
Generating public/private rsa key pair.
Your identification has been saved in nokia_project_rsa.
Your public key has been saved in nokia_project_rsa.pub.
The key fingerprint is:
41:30:cf:a2:b0:f2:4e:01:47:79:6b:d1:7d:8c:95:f1 This is the Nokia project key
The key's randomart image is:
+--[ RSA 4096]----+
| .. .oo.+oo |
| .. o .=o +. |
|. o. o. +. E |
| o oo. . . |
|. o.. S |
| o . |
| o |
| o |
| . |
+-----------------+
webdeli:~ admin$
</pre>
<p>Now the public key found in the ~/.shh folder may be added to the access control on the git repository and used for the duration of the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=162</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Show Mac OS X (Lion) Hidden Files &amp; Folders in Finder</title>
		<link>http://webdeli.com.au/blog/?p=110&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=show-mac-osx-lion-hidden-files-folders-in-finder</link>
		<comments>http://webdeli.com.au/blog/?p=110#comments</comments>
		<pubDate>Thu, 05 Jan 2012 01:58:13 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Hidden Files]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=110</guid>
		<description><![CDATA[It&#8217;s a new year, happy 2012 everyone. So late in December I updated to a dev system which is an iMac running OS X Lion. Given it&#8217;s the new year and work is not in full-swing till later this month (the bulk of our clients are running a skeletal staff until school returns next week) &#8230; <a class="read-excerpt" href="http://webdeli.com.au/blog/?p=110">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_119" class="wp-caption alignleft" style="width: 430px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2012/01/hidden_files1.png"><img class="size-full wp-image-119  " style="margin: 4px;" title="The Treasure of the Sierra Madre (1948) Scene" src="http://webdeli.com.au/blog/wp-content/uploads/2012/01/hidden_files1.png" alt="Badges? We ain't got no stinkn' badges" width="420" height="270" /></a><p class="wp-caption-text">Hidden Files? Hidden Files! We don&#39;t need no stinkn&#39; hidden files.</p></div>
<p>It&#8217;s a new year, happy 2012 everyone. So late in December I updated to a dev system which is an iMac running OS X Lion. Given it&#8217;s the new year and work is not in full-swing till later this month (the bulk of our clients are running a skeletal staff until school returns next week) I thought this would be a good time to do some maintenance and non-development tasks that should be done to get ready for the year ahead.</p>
<p>One of the items on my @todo list was to update a public RSA key in use last year and in so doing I came across this issue. Down into the console I go to generate a new key:</p>
<pre class="brush: plain; title: Code:; notranslate">cd ~/.ssh</pre>
<p>generate the a new key</p>
<pre class="brush: plain; title: Code:; notranslate">ssh-keygen -t rsa -C &quot;projects@webdeli.com.au&quot;</pre>
<p>and bang &#8211; out comes a shiny, shiny new key at &#8216;Users/webdeli/.ssh/id_rsa.pub&#8217;</p>
<p>So far so good. Back to the desktop and navigating the browser to a public site the we authenticate to with PKI, go to admin, authorise a public key, open Finder, go to &#8216;Users/webdeli/.ssh/id_rsa.pub&#8217; ..hey it&#8217;s not there, oh that&#8217;s right &#8211; new system, default settings I haven&#8217;t enabled &#8216;Show hidden files&#8217; in the finder config yet.</p>
<p>Cool, I think&#8230; so I go to &#8216;Finder &gt; Preferences&#8217; &#8230; hmmm not here.. ah go to &#8216;Finder &gt; Preferences &gt; Advanced&#8217; .. no luck here either.</p>
<div class="mceTemp">
<div id="attachment_136" class="wp-caption aligncenter" style="width: 680px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2012/01/Finder-Preferences2.png"><img class="size-full wp-image-136" title="Finder-Preferences" src="http://webdeli.com.au/blog/wp-content/uploads/2012/01/Finder-Preferences2.png" alt="" width="670" height="422" /></a><p class="wp-caption-text">Mac OS X (Lion) - Finder Preferences</p></div>
<p>Wow, I must be losing it&#8230; So I look at &#8216;Finder &gt; View &gt; Show View Options&#8217; and still nothing..</p>
<div id="attachment_138" class="wp-caption aligncenter" style="width: 189px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2012/01/Show-View-Options.jpg"><img class="size-full wp-image-138" title="Show View Options" src="http://webdeli.com.au/blog/wp-content/uploads/2012/01/Show-View-Options.jpg" alt="" width="179" height="463" /></a><p class="wp-caption-text">Mac OS X (Lion) Finder &gt; Show View Options</p></div>
<p>So what is going on here?</p>
<p>Well it turns out that a design decision in OS X Lion has been made that out here in user-land we don&#8217;t need no stinking hidden files. Yes this sucks. Yes you can fix it. No you won&#8217;t need to install a utility or software patch, but you will need to execute some console code:</p>
<p><strong>To enable hidden files view in finder on Mac OS X (Lion) &#8211; In console:</strong></p>
<pre class="brush: plain; title: Code:; notranslate"> defaults write com.apple.Finder AppleShowAllFiles TRUE </pre>
<p>Voilà there are our hidden files (breathes a sigh of relief)</p>
<div id="attachment_142" class="wp-caption aligncenter" style="width: 680px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2012/01/navigate.jpg"><img class="size-full wp-image-142" title="osx-lion-finder-window-hidden-files" src="http://webdeli.com.au/blog/wp-content/uploads/2012/01/navigate.jpg" alt="" width="670" height="423" /></a><p class="wp-caption-text">OS X (Lion) Finder Window - Showing Hidden Files</p></div>
<p>and later if you decide you want to turn this off,</p>
<p><strong>To dis-able hidden files view in finder on Mac OS X (Lion)<strong> - In console:</strong></strong></p>
<pre class="brush: plain; title: Code:; notranslate"> defaults write com.apple.Finder AppleShowAllFiles FALSE </pre>
<p>I don&#8217;t know, but I suspect this design decision is part of the trend from Cupertino toward the iOSification of alot of the OS X (Lion) os and the trend towards simplification and the lockdown of those devices creeping into the macbook/imac &amp; pro&#8217;s operating system.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=110</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating PhpStorm 3.0 with your GitHub account (Mac OSX)</title>
		<link>http://webdeli.com.au/blog/?p=57&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integrating-phpstorm-3-0-with-your-github-account-mac-osx</link>
		<comments>http://webdeli.com.au/blog/?p=57#comments</comments>
		<pubDate>Tue, 27 Dec 2011 05:08:47 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[GitHub]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PhpStorm]]></category>
		<category><![CDATA[Source Code Management]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=57</guid>
		<description><![CDATA[The team here at Web Deli™ have taken to using PhpStorm for a lot of our PHP IDE development and over the last moth we have been honing or processes to take full advantage of many of the in-built features. Everything has been going smoothly, and we couldn&#8217;t be happier with our current choice of &#8230; <a class="read-excerpt" href="http://webdeli.com.au/blog/?p=57">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PHPStormIcon.jpg"><img class="alignleft size-full wp-image-60" style="margin: 3px;" title="PHP Storm Icon" src="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PHPStormIcon.jpg" alt="The friendly launch icon for PhpStorm 3.0" width="73" height="75" /></a></p>
<p>The team here at Web Deli™ have taken to using PhpStorm for a lot of our PHP IDE development and over the last moth we have been honing or processes to take full advantage of many of the in-built features. Everything has been going smoothly, and we couldn&#8217;t be happier with our current choice of IDE. But one feature (as at 3.0) did throw us for a few minutes. Integrating PhpStorm to our GitHub repository. After pulling up the configuration screen we were asked to provide our credential, all pretty standard fair:</p>
<p><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PhpStorm_Settings_GitHub.png"><img class="size-full wp-image-64 alignnone" title="PhpStorm_Settings_GitHub" src="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PhpStorm_Settings_GitHub.png" alt="PhpStorm Settings Screen for GitHub connectivity" width="675" height="338" /></a></p>
<p>Having carefully checked all the configuration setting before entering them, we should see all of our public and private GitHub repositories and any projects we are collaborators on, right? Well we though so too.. but unfortunately we got stuck at this point for a little will getting the the following &#8220;Cannot login to the github.com using given credentials&#8221; error message:</p>
<p style="text-align: left;"><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PhpStorm_GitHub_Error-1.jpg"><img class="size-full wp-image-69 alignleft" style="margin: 3px;" title="PhpStorm_GitHub_Error-1" src="http://webdeli.com.au/blog/wp-content/uploads/2011/12/PhpStorm_GitHub_Error-1.jpg" alt="The GitHub error message in PhpStorm 3.0 with standard credentials" width="425" height="138" /></a>But how can this be right? We checked and tested the credentials with our Git+ client (Tower) and connected to the GitHub account without a hitch.. So what&#8217;s up with PhpStorm? As it turns out the answer (although not document as at the time of writing this) is pretty straight forward, with a bit of guess work, we discovered that rather that using our email, we replaced this with out GitHub nickname:</p>
<p style="text-align: left;"><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/12/Settings-2.png"><img class="aligncenter size-full wp-image-77" title="PhpStorm GitHub settings window" src="http://webdeli.com.au/blog/wp-content/uploads/2011/12/Settings-2.png" alt="Enter your username rather than your email address" width="675" height="338" /></a></p>
<p style="text-align: center;">and hold our breath&#8230; 3.. 2.. 1</p>
<p style="text-align: right;"><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/12/Success-Booya1.png"><img class="aligncenter size-full wp-image-83" title="Success-Booya" src="http://webdeli.com.au/blog/wp-content/uploads/2011/12/Success-Booya1.png" alt="Success - Now we're cooking with gas." width="675" height="338" /></a></p>
<p style="text-align: center;">Woot! Now on with the show.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=57</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fledgling steps into mobile development</title>
		<link>http://webdeli.com.au/blog/?p=52&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fledgling-steps-into-mobile-development</link>
		<comments>http://webdeli.com.au/blog/?p=52#comments</comments>
		<pubDate>Fri, 18 Nov 2011 23:32:30 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=52</guid>
		<description><![CDATA[As an exercise in adventures in programming this weekend, we are firing up the Android SKD to take a first look at App Development for Android devices (Phones, Tablets). Another project already has a clearly identified iOS (Apple iPhone/iPad) project component, and we are currently awaiting communication, confirmation and enrollment from the Apple Inc side to be &#8230; <a class="read-excerpt" href="http://webdeli.com.au/blog/?p=52">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_53" class="wp-caption alignleft" style="width: 431px"><a href="http://webdeli.com.au/blog/wp-content/uploads/2011/11/Android-SDK-Manager-1.jpg"><img class="size-full wp-image-53  " style="margin: 10px;" title="Android SDK Manager-1" src="http://webdeli.com.au/blog/wp-content/uploads/2011/11/Android-SDK-Manager-1.jpg" alt="" width="421" height="300" /></a><p class="wp-caption-text">Installing Android SDK</p></div>
<p>As an exercise in adventures in programming this weekend, we are firing up the Android SKD to take a first look at App Development for Android devices (Phones, Tablets). Another project already has a clearly identified iOS (Apple iPhone/iPad) project component, and we are currently awaiting communication, confirmation and enrollment from the Apple Inc side to be granted full access to that platform. In the interim 2 things emerged:</p>
<ol>
<li>An idea for a new service that could become it&#8217;s own start-up venture</li>
<li>The desire to run and test our peer&#8217;s Android applications in a Desktop VM as the HTC we have in the office is too busy in use as a phone, to be shared around as a application testing rig.</li>
</ol>
<p>No doubt other developers would be seeing the trot becoming a canter from desktop access of the net to mobile access is more than a trend and any of us that have used mobile internet browsers will know, some tasks are better served by an native application or &#8216;app&#8217;.</p>
<p>At this office we feel that it is critical to our vision that we are capable in this space moving forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yii Conventions, or Making an Offer You Can&#8217;t Refuse</title>
		<link>http://webdeli.com.au/blog/?p=26&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=yii-guidelines-or-making-an-offer-you-cant-refuse</link>
		<comments>http://webdeli.com.au/blog/?p=26#comments</comments>
		<pubDate>Fri, 14 Oct 2011 05:35:37 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[Yii]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=26</guid>
		<description><![CDATA[When you make your first Yii application&#8230; A good place to start, among all other reference material, is the Yii Code Conventions, and pay heed: deviating from the guidelines CAN CAUSE YOU REAL problems in your application. A good tip for developers new to Yii, and a case in point, is Case. The Conventions (IMO) &#8230; <a class="read-excerpt" href="http://webdeli.com.au/blog/?p=26">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When you make your first Yii application&#8230; A good place to start, among all other reference material, is the <a href="http://www.yiiframework.com/doc/guide/1.1/en/basics.convention">Yii Code Conventions</a>, and pay heed: deviating from the guidelines CAN CAUSE YOU REAL problems in your application. A good tip for developers new to Yii, and a case in point, is Case. The Conventions (IMO) are not worded strongly enough! To steer the developer new to Yii away from making decisions that will break a Yii (v1.1) application , it can&#8217;t be stressed enough in the case of table and field naming in the database and that the case naming applied to table and column names has a bearing on the initial success or refactoring of a project. While it is quite clear from the Coding Convention that lower case is &#8216;proposed&#8217;.. in fact.. a choice here to use Sentence Case or to use camelCase will break some key features offered by Yii&#8230; Including, but not limited to <a href="http://www.yiiframework.com/doc/guide/1.1/en/topics.gii">Gii</a> scaffold generator or the wildly useful <a href="http://www.yiiframework.com/extension/giix/">Giix extension</a> To the extent that these tools will work.. In all likelihood foreign key constraints used to define relationships will either not be identified, or the resulting controller and model files will not accord. In addition to this, many contributed extension will assume you have adopted lowercase naming and will simply break without it. So the take away is.. When you look at the Yii Coding Conventions on offer&#8230; It really is, an offer you can&#8217;t refuse&#8230; unless you want to get hurt down the line.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=26</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blog open.</title>
		<link>http://webdeli.com.au/blog/?p=1&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hello-world</link>
		<comments>http://webdeli.com.au/blog/?p=1#comments</comments>
		<pubDate>Thu, 13 Oct 2011 07:36:22 +0000</pubDate>
		<dc:creator>webdeli</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Deli™]]></category>

		<guid isPermaLink="false">http://webdeli.com.au/blog/?p=1</guid>
		<description><![CDATA[Welcome to our Blog!]]></description>
			<content:encoded><![CDATA[<p>Welcome to our Blog!</p>
<pre class="brush: php; title: Code:; notranslate">
&lt;?php

// Welcome to the WebDeli Blog
echo 'Hello World.';

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webdeli.com.au/blog/?feed=rss2&#038;p=1</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

