<?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>Dinesh Copoosamy &#187; Dinesh</title>
	<atom:link href="http://dinesh.co.za/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://dinesh.co.za</link>
	<description></description>
	<lastBuildDate>Wed, 21 Mar 2012 05:25:43 +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>Add JS/CSS Specifics for Facebook Canvas App</title>
		<link>http://dinesh.co.za/2012/03/dynamically-load-canvas-app-specific-js-and-css-if-page-is-being-viewed-within-facebook-canvas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dynamically-load-canvas-app-specific-js-and-css-if-page-is-being-viewed-within-facebook-canvas</link>
		<comments>http://dinesh.co.za/2012/03/dynamically-load-canvas-app-specific-js-and-css-if-page-is-being-viewed-within-facebook-canvas/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 12:38:46 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=113</guid>
		<description><![CDATA[Using the same site for web and facebook canvas but want to add some specifics to your app when being viewed as a canvas app&#8230;]]></description>
			<content:encoded><![CDATA[<p>Using the same site for web and facebook canvas but want to add some specifics to your app when being viewed as a canvas app&#8230;</p>
<div class="gistem"><div id="gist-2134573" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c">/* Put any canvas specific css here - i just put a border around the canvas to test that it&#39;s working */</span></div><div class='line' id='LC2'>&nbsp;</div><div class='line' id='LC3'><span class="nt">body</span><span class="p">{</span></div><div class='line' id='LC4'>&nbsp;&nbsp;&nbsp;<span class="k">border</span><span class="o">:</span> <span class="m">2px</span> <span class="k">solid</span> <span class="m">#666</span><span class="p">;</span></div><div class='line' id='LC5'><span class="p">}</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/2134573/01e3216bc9cf15eaf4a1160135b10d5cfdb3fa02/canvas.css" style="float:right;">view raw</a>
            <a href="https://gist.github.com/2134573#file_canvas.css" style="float:right;margin-right:10px;color:#666">canvas.css</a>
            <a href="https://gist.github.com/2134573">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="kd">function</span> <span class="nx">initCanvasHelpers</span><span class="p">(){</span></div><div class='line' id='LC2'>&nbsp;&nbsp;&nbsp;<span class="c1">//call all canvas specific functions, binds, etc here</span></div><div class='line' id='LC3'>&nbsp;&nbsp;&nbsp;<span class="nx">sayHello</span><span class="p">();</span></div><div class='line' id='LC4'><span class="p">}</span></div><div class='line' id='LC5'><br/></div><div class='line' id='LC6'><span class="kd">function</span> <span class="nx">sayHello</span><span class="p">(){</span></div><div class='line' id='LC7'>&nbsp;&nbsp;&nbsp;<span class="nx">alert</span><span class="p">(</span><span class="s1">&#39;Hello Fb Canvas user&#39;</span><span class="p">);</span></div><div class='line' id='LC8'><span class="p">}</span></div><div class='line' id='LC9'><span class="c1">//define functions that are going to called in initCanvasHelpers() here</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/2134573/616b1dcdd8789608b8c846a3fac45daa8b57e6a1/canvas.js" style="float:right;">view raw</a>
            <a href="https://gist.github.com/2134573#file_canvas.js" style="float:right;margin-right:10px;color:#666">canvas.js</a>
            <a href="https://gist.github.com/2134573">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="cp">&lt;!DOCTYPE html&gt;</span></div><div class='line' id='LC2'><span class="nt">&lt;html&gt;</span></div><div class='line' id='LC3'><span class="nt">&lt;head&gt;</span></div><div class='line' id='LC4'>&nbsp;&nbsp;<span class="nt">&lt;script </span><span class="na">src=</span><span class="s">&quot;//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js&quot;</span> <span class="na">type=</span><span class="s">&quot;text/javascript&quot;</span><span class="nt">&gt;&lt;/script&gt;</span></div><div class='line' id='LC5'><span class="nt">&lt;/head&gt;</span></div><div class='line' id='LC6'><span class="nt">&lt;body&gt;</span></div><div class='line' id='LC7'><span class="nt">&lt;script&gt;</span></div><div class='line' id='LC8'><span class="nx">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nx">ready</span><span class="p">(</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC9'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">inCanvas</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC10'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">inCanvas</span> <span class="o">=</span> <span class="nx">inCanvasCheck</span><span class="p">();</span></div><div class='line' id='LC11'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span><span class="p">(</span><span class="nx">inCanvas</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC12'>	    <span class="nx">$</span><span class="p">(</span><span class="s2">&quot;head&quot;</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span><span class="s2">&quot;&lt;link&gt;&quot;</span><span class="p">);</span></div><div class='line' id='LC13'>	    <span class="nx">css</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s2">&quot;head&quot;</span><span class="p">).</span><span class="nx">children</span><span class="p">(</span><span class="s2">&quot;:last&quot;</span><span class="p">);</span></div><div class='line' id='LC14'>	    <span class="nx">css</span><span class="p">.</span><span class="nx">attr</span><span class="p">({</span></div><div class='line' id='LC15'>	      <span class="nx">rel</span><span class="o">:</span>  <span class="s2">&quot;stylesheet&quot;</span><span class="p">,</span></div><div class='line' id='LC16'>	      <span class="nx">type</span><span class="o">:</span> <span class="s2">&quot;text/css&quot;</span><span class="p">,</span></div><div class='line' id='LC17'>	      <span class="nx">href</span><span class="o">:</span> <span class="s2">&quot;canvas.css&quot;</span></div><div class='line' id='LC18'>	    <span class="p">});</span></div><div class='line' id='LC19'>	    <span class="nx">$</span><span class="p">.</span><span class="nx">getScript</span><span class="p">(</span><span class="s2">&quot;canvas.js&quot;</span><span class="p">,</span> <span class="kd">function</span><span class="p">(){</span></div><div class='line' id='LC20'>	         <span class="c1">//wait before initialising to prevent intermittent load error</span></div><div class='line' id='LC21'>		 <span class="nx">setTimeout</span><span class="p">(</span><span class="s2">&quot;initCanvasHelpers()&quot;</span><span class="p">,</span><span class="mi">250</span><span class="p">);</span></div><div class='line' id='LC22'>	    <span class="p">});</span></div><div class='line' id='LC23'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span>	</div><div class='line' id='LC24'><span class="p">});</span></div><div class='line' id='LC25'><br/></div><div class='line' id='LC26'><span class="cm">/*</span></div><div class='line' id='LC27'><span class="cm"> * Check if we are being viewed from a Facebook canvas app</span></div><div class='line' id='LC28'><span class="cm"> * taken from https://github.com/navgarcha/jquery-facebook</span></div><div class='line' id='LC29'><span class="cm"> *</span></div><div class='line' id='LC30'><span class="cm"> */</span></div><div class='line' id='LC31'><span class="kd">function</span> <span class="nx">inCanvasCheck</span> <span class="p">()</span> <span class="p">{</span>  </div><div class='line' id='LC32'>&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">search</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;fb_sig_in_iframe=1&#39;</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">)</span> <span class="o">||</span></div><div class='line' id='LC33'>&nbsp;&nbsp;<span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">search</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;session=&#39;</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">)</span> <span class="o">||</span></div><div class='line' id='LC34'>&nbsp;&nbsp;<span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">search</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;signed_request=&#39;</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">)</span> <span class="o">||</span></div><div class='line' id='LC35'>&nbsp;&nbsp;<span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">name</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;iframe_canvas&#39;</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">)</span> <span class="o">||</span></div><div class='line' id='LC36'>&nbsp;&nbsp;<span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">name</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;app_runner&#39;</span><span class="p">)</span><span class="o">&gt;-</span><span class="mi">1</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC37'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC38'>&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC39'>&nbsp;&nbsp;<span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC40'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC41'>&nbsp;&nbsp;<span class="p">}</span>    </div><div class='line' id='LC42'><span class="p">}</span></div><div class='line' id='LC43'><span class="nt">&lt;/script&gt;</span></div><div class='line' id='LC44'><span class="nt">&lt;/body&gt;</span></div><div class='line' id='LC45'><span class="nt">&lt;/html&gt;</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/2134573/3b5d2849bc521b31dbb43c7e0dba6cd010b3e928/example.html" style="float:right;">view raw</a>
            <a href="https://gist.github.com/2134573#file_example.html" style="float:right;margin-right:10px;color:#666">example.html</a>
            <a href="https://gist.github.com/2134573">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>
</div>
</div><style type="text/css">@import "http://gist.github.com/stylesheets/gist/embed.css"; .gistem .highlight {background: inherit; !important;}</style>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/dynamically-load-canvas-app-specific-js-and-css-if-page-is-being-viewed-within-facebook-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically scale Facebook social plugins</title>
		<link>http://dinesh.co.za/2012/03/dynamically-scale-facebook-social-plugins/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dynamically-scale-facebook-social-plugins</link>
		<comments>http://dinesh.co.za/2012/03/dynamically-scale-facebook-social-plugins/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 13:26:47 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=98</guid>
		<description><![CDATA[Working on a responsive template for a client which has a Facebook Like Box plugin on the frontpage. To have the plugin scale along with the rest of the template I came up with the following solution.]]></description>
			<content:encoded><![CDATA[<p>Working on a responsive template for a client which has a Facebook Like Box plugin on the frontpage. To have the plugin scale along with the rest of the template I came up with the following solution.</p>
<div class="gistem"><div id="gist-2111366" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="cp">&lt;!doctype HTML&gt;</span></div><div class='line' id='LC2'><span class="nt">&lt;html&gt;</span></div><div class='line' id='LC3'><span class="nt">&lt;head&gt;</span></div><div class='line' id='LC4'>&nbsp;&nbsp;<span class="nt">&lt;script </span><span class="na">src=</span><span class="s">&quot;//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js&quot;</span> <span class="na">type=</span><span class="s">&quot;text/javascript&quot;</span><span class="nt">&gt;&lt;/script&gt;</span></div><div class='line' id='LC5'><span class="nt">&lt;/head&gt;</span></div><div class='line' id='LC6'><span class="nt">&lt;body&gt;</span></div><div class='line' id='LC7'><br/></div><div class='line' id='LC8'><span class="nt">&lt;div</span> <span class="na">id=</span><span class="s">&quot;container&quot;</span> <span class="na">style=</span><span class="s">&quot;width:100%;&quot;</span><span class="nt">&gt;</span></div><div class='line' id='LC9'>&nbsp;&nbsp;<span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">&quot;fb-like-box&quot;</span> <span class="na">data-href=</span><span class="s">&quot;https://www.facebook.com/adobegocreate&quot;</span> <span class="na">data-width=</span><span class="s">&quot;292&quot;</span> <span class="na">data-show-faces=</span><span class="s">&quot;true&quot;</span> <span class="na">data-stream=</span><span class="s">&quot;true&quot;</span> <span class="na">data-header=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;&lt;/div&gt;</span></div><div class='line' id='LC10'><span class="nt">&lt;/div&gt;</span></div><div class='line' id='LC11'><br/></div><div class='line' id='LC12'><span class="nt">&lt;div</span> <span class="na">id=</span><span class="s">&quot;fb-root&quot;</span><span class="nt">&gt;&lt;/div&gt;</span></div><div class='line' id='LC13'><span class="nt">&lt;script&gt;</span></div><div class='line' id='LC14'><span class="cm">/*</span></div><div class='line' id='LC15'><span class="cm"> * REMEMBER TO CHANGE TO YOUR APP ID AND CHANGE data-href TO SUIT YOU</span></div><div class='line' id='LC16'><span class="cm"> */</span></div><div class='line' id='LC17'><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">d</span><span class="p">,</span> <span class="nx">s</span><span class="p">,</span> <span class="nx">id</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC18'>&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">js</span><span class="p">,</span> <span class="nx">fjs</span> <span class="o">=</span> <span class="nx">d</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="nx">s</span><span class="p">)[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC19'>&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">d</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="nx">id</span><span class="p">))</span> <span class="k">return</span><span class="p">;</span></div><div class='line' id='LC20'>&nbsp;&nbsp;<span class="nx">js</span> <span class="o">=</span> <span class="nx">d</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="nx">s</span><span class="p">);</span> <span class="nx">js</span><span class="p">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">id</span><span class="p">;</span></div><div class='line' id='LC21'>&nbsp;&nbsp;<span class="nx">js</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">&quot;//connect.facebook.net/en_GB/all.js#xfbml=1&amp;appId=ADD YOUR APP ID HERE&quot;</span><span class="p">;</span></div><div class='line' id='LC22'>&nbsp;&nbsp;<span class="nx">fjs</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">insertBefore</span><span class="p">(</span><span class="nx">js</span><span class="p">,</span> <span class="nx">fjs</span><span class="p">);</span></div><div class='line' id='LC23'><span class="p">}(</span><span class="nb">document</span><span class="p">,</span> <span class="s1">&#39;script&#39;</span><span class="p">,</span> <span class="s1">&#39;facebook-jssdk&#39;</span><span class="p">));</span></div><div class='line' id='LC24'><br/></div><div class='line' id='LC25'><br/></div><div class='line' id='LC26'><span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="s2">&quot;load resize&quot;</span><span class="p">,</span> <span class="kd">function</span><span class="p">(){</span>    </div><div class='line' id='LC27'>&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">container_width</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#container&#39;</span><span class="p">).</span><span class="nx">width</span><span class="p">();</span>    </div><div class='line' id='LC28'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#container&#39;</span><span class="p">).</span><span class="nx">html</span><span class="p">(</span><span class="s1">&#39;&lt;div class=&quot;fb-like-box&quot; &#39;</span> <span class="o">+</span> </div><div class='line' id='LC29'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="s1">&#39;data-href=&quot;https://www.facebook.com/adobegocreate&quot;&#39;</span> <span class="o">+</span></div><div class='line' id='LC30'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="s1">&#39; data-width=&quot;&#39;</span> <span class="o">+</span> <span class="nx">container_width</span> <span class="o">+</span> <span class="s1">&#39;&quot; data-height=&quot;730&quot; data-show-faces=&quot;false&quot; &#39;</span> <span class="o">+</span></div><div class='line' id='LC31'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="s1">&#39;data-stream=&quot;true&quot; data-header=&quot;true&quot;&gt;&lt;/div&gt;&#39;</span><span class="p">);</span></div><div class='line' id='LC32'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">FB</span><span class="p">.</span><span class="nx">XFBML</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span> <span class="p">);</span>    </div><div class='line' id='LC33'><span class="p">});</span> </div><div class='line' id='LC34'><span class="nt">&lt;/script&gt;</span></div><div class='line' id='LC35'><br/></div><div class='line' id='LC36'><br/></div><div class='line' id='LC37'><br/></div><div class='line' id='LC38'><span class="nt">&lt;/body&gt;</span></div><div class='line' id='LC39'><span class="nt">&lt;/html&gt;</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/2111366/bf14419e4c32055799ce686e5685fb38d48560bb/responsive_likebox.html" style="float:right;">view raw</a>
            <a href="https://gist.github.com/2111366#file_responsive_likebox.html" style="float:right;margin-right:10px;color:#666">responsive_likebox.html</a>
            <a href="https://gist.github.com/2111366">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/dynamically-scale-facebook-social-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Social River &#8211; Drupal Module</title>
		<link>http://dinesh.co.za/2012/03/social-river-drupal-module/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=social-river-drupal-module</link>
		<comments>http://dinesh.co.za/2012/03/social-river-drupal-module/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 07:20:26 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=89</guid>
		<description><![CDATA[A life-stream module which aggregates feeds from a number of services and displays them in chronological order as a single stream. http://drupal.org/project/social_river Sponsors This module was kindly sponsored by NoJoShmo.com and is maintained by me. It is based on the jQuery plugin - jQuery-lifestream by Christian Vuerings]]></description>
			<content:encoded><![CDATA[<p>A life-stream module which aggregates feeds from a number of services and displays them in chronological order as a single stream.</p>
<p><a href="http://drupal.org/project/social_river">http://drupal.org/project/social_river</a></p>
<h3>Sponsors</h3>
<p>This module was kindly sponsored by <a href="http://www.nojoshmo.com/" rel="nofollow">NoJoShmo.com</a> and is maintained by me.</p>
<p>It is based on the jQuery plugin - <a href="http://christianv.github.com/jquery-lifestream/" rel="nofollow">jQuery-lifestream</a> by Christian Vuerings</p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/social-river-drupal-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>South African History Online</title>
		<link>http://dinesh.co.za/2012/03/south-african-history-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=south-african-history-online</link>
		<comments>http://dinesh.co.za/2012/03/south-african-history-online/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 07:13:35 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=51</guid>
		<description><![CDATA[South African History Online (SAHO) is a non-partisan people&#8217;s history project. It was established in June 2000 as a non-profit Section 21 organisation, aiming to address the biased way in which the history and cultural heritage of South Africans was represented in our educational and cultural institutions. In 2010 SAHO decided to move from a <a href="http://dinesh.co.za/2012/03/south-african-history-online/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<div ><a href="#" title="" target="" rel=""><img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.sahistory.org.za?w=400&amp;h=300" alt="Drupal Consulting - sahistory.org.za"/></a></p>
<blockquote>
<p style="text-align: justify;">South African History Online (SAHO) is a non-partisan people&#8217;s history project. It was established in June 2000 as a non-profit Section 21 organisation, aiming to address the biased way in which the history and cultural heritage of South Africans was represented in our educational and cultural institutions.</p>
</blockquote>
<p>In 2010 SAHO decided to move from a static HTML site with approximately 15000+ pages to a CMS platform.</p>
<a href="#" title="" target="" rel=""><img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fv1.sahistory.org.za%2F?w=400&amp;h=300" alt="sahistory.org.za pre-Drupal"/></a>
<p><span id="more-51"></span></p>
<p>The case was made for Drupal and I began consulting on the SAHO New Site Migration and Construction Project.</p>
<blockquote><p><img class="alignnone size-full wp-image-52" title="Project Team: From left, Seelan Naidoo, Jonas Jiana, Tinashe Gunda, Joni Light, Kedibone Maakana, Dinesh Copoosamy. Insert: Mads Nørgaard, Omar Badsha (CEO)" src="http://dinesh.co.za/wp-content/uploads/2012/03/project-team.jpg" alt="" width="398" height="299" /><br />
Project Team: From left, Seelan Naidoo, Jonas Jiana, Tinashe Gunda, Joni Light, Kedibone Maakana, Dinesh Copoosamy. Insert: Mads Nørgaard, Omar Badsha (CEO)</p></blockquote>
<h4 style="text-align: justify;">The Migration Phase</h4>
<p style="text-align: justify;">We kicked off with analysing the existing content to allow us to architect the Content Types and Taxonomy structure that would best fit SAHO.</p>
<p style="text-align: justify;">After a couple of workshops and a plan in hand we began the process of developing custom parsing scripts to extract and map the static html pages to the relevant Drupal Content Types and Fields. This process consisted of html purification of the existing pages, automatic addition of tags to assist with extracting fields and batch insertion into Drupal.</p>
<p style="text-align: justify;">Eventually managing to successfully automate the migration of roughly 90%  of the content (the bits that did not map perfectly were then manually fixed within Drupal).</p>
<h4 style="text-align: justify;">User Interface, Look and Feel Phase</h4>
<p style="text-align: justify;">After analysing SAHO&#8217;s design transformation over the years coupled with lots of research on design trends of other sites within a similar space the user interface was decided on through a collaborative process undertaken by the project team and SAHO staff members.</p>
<h4>Launch</h4>
<p>The site launched successfully in May 2011 after months of hard work and involvement from the project team and the entire SAHO staff.</p>
<p>Since then the project focus was largely on SEO, user interface improvements, content tagging and server infrastructure to handle the increasing traffic to the site.</p>
<p>At the end of 2011 we kicked off a very exciting second stage of this project with an outlook to syndication, user interaction and a host of other cool features.</p>
<h4>Recent Milestones</h4>
<ul>
<li>Traffic has grown steadily from roughly 50k visits a month (April 2010) to 160k+ a month (Feb 2012) with over 350K pageviews and this continues to grow.</li>
<li>The site has a 100% Insight score and a 63% SEO Grading from the Acquia network.</li>
<li>Stable mercury/pantheon stack, varnish at the front and ApacheSolr handling search (Drupals native search mechanism died after breaching 3million rows in the search index)</li>
</ul>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/south-african-history-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tax boost for software devs</title>
		<link>http://dinesh.co.za/2012/03/tax-boost-for-software-devs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tax-boost-for-software-devs</link>
		<comments>http://dinesh.co.za/2012/03/tax-boost-for-software-devs/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 20:47:28 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Biz]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=21</guid>
		<description><![CDATA[So it seems there is a tax incentive for software developers to claim back 150% of R&#38;D related expenses &#8230; including companies creating management or internal business software processes. &#8211; read more here Sounds like a good way to stimulate this space though the issue of there being a serious lack of quality developers still remains <a href="http://dinesh.co.za/2012/03/tax-boost-for-software-devs/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So it seems there is a tax incentive for software developers to claim back 150% of R&amp;D related expenses &#8230; including companies creating management or internal business software processes. &#8211; <a title="SA Tax Boost for Software Developers" href="http://www.africanbrains.net/2012/02/11/sa-tax-boost-for-software-developers/">read more here</a></p>
<p>Sounds like a good way to stimulate this space though the issue of there being a serious lack of quality developers still remains and this particular problem is a pressing one.</p>
<p>Where have all the quality developers gone?</p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/tax-boost-for-software-devs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Tuxedo &#8211; Resources for Mobile Development</title>
		<link>http://dinesh.co.za/2012/03/mobile-tuxedo-resources-for-mobile-development/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobile-tuxedo-resources-for-mobile-development</link>
		<comments>http://dinesh.co.za/2012/03/mobile-tuxedo-resources-for-mobile-development/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 09:47:49 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/?p=5</guid>
		<description><![CDATA[A decent collection of resources from around the web dealing with mobile development. Broken up into articles, resources, UI patterns. Seems to be  updated frequently too.  view site]]></description>
			<content:encoded><![CDATA[<a href="#" title="" target="" rel=""><img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.mobiletuxedo.com?w=400&amp;h=300" alt="Mobile Tuxedo - Resources for Mobile Development"/></a>
<p>A decent collection of resources from around the web dealing with mobile development. Broken up into articles, resources, UI patterns.</p>
<p>Seems to be  updated frequently too.</p>
<p><a title="Mobile Tuxedo" href="http://www.mobiletuxedo.com"> view site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2012/03/mobile-tuxedo-resources-for-mobile-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first Drupal module contribution :)</title>
		<link>http://dinesh.co.za/2011/11/privatemsg-templates-drupal-org/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=privatemsg-templates-drupal-org</link>
		<comments>http://dinesh.co.za/2011/11/privatemsg-templates-drupal-org/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 20:51:03 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/2011/11/privatemsg-templates-drupal-org/</guid>
		<description><![CDATA[Privatemsg Templates &#124; drupal.org]]></description>
			<content:encoded><![CDATA[<p><a href="http://drupal.org/project/privatemsg_templates">Privatemsg Templates | drupal.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2011/11/privatemsg-templates-drupal-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideal Developer Setup</title>
		<link>http://dinesh.co.za/2011/08/ideal-developer-setup/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ideal-developer-setup</link>
		<comments>http://dinesh.co.za/2011/08/ideal-developer-setup/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 21:26:28 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Developer Kit]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/2011/08/ideal-developer-setup/</guid>
		<description><![CDATA[My ideal setup would look like this: Computer http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html#comments Furniture http://www.anthro.com/furniture.aspx?computer-cart=carls-table-ct08    - Chair is neat, desk may be overkill but what the heck Eyewear http://www.gunnars.com/ Keyboard http://www.kinesis-ergo.com/advantage.htm Furniture, keyboard and eyewear to take care of RSI, Carpal Tunnel, bad eyesight, bad back. Computer to take care of Master Collection, PHPStorm and VM.]]></description>
			<content:encoded><![CDATA[<p>My ideal setup would look like this:</p>
<p><strong>Computer</strong></p>
<p><a href="http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html#comments"><a href="http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html#comments">http://www.codinghorror.com/blog/2011/07/building-a-pc-part-vii-rebooting.html#comments</a></a></p>
<p><strong>Furniture</strong></p>
<p><a href="http://www.anthro.com/furniture.aspx?computer-cart=carls-table-ct08"><a href="http://www.anthro.com/furniture.aspx?computer-cart=carls-table-ct08">http://www.anthro.com/furniture.aspx?computer-cart=carls-table-ct08</a></a></p>
<p>   - Chair is neat, desk may be overkill but what the heck <img src='http://dinesh.co.za/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Eyewear</strong></p>
<p><a href="http://www.gunnars.com/"><a href="http://www.gunnars.com/">http://www.gunnars.com/</a></a></p>
<p><strong><br />Keyboard</strong></p>
<p><a href="http://www.kinesis-ergo.com/advantage.htm"><a href="http://www.kinesis-ergo.com/advantage.htm">http://www.kinesis-ergo.com/advantage.htm</a></a></p>
<p>Furniture, keyboard and eyewear to take care of RSI, Carpal Tunnel, bad eyesight, bad back.</p>
<p>Computer to take care of Master Collection, PHPStorm and VM.</p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2011/08/ideal-developer-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring beanstalk</title>
		<link>http://dinesh.co.za/2011/08/monitoring-beanstalk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monitoring-beanstalk</link>
		<comments>http://dinesh.co.za/2011/08/monitoring-beanstalk/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 11:01:06 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Beanstalkd]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/2011/08/monitoring-beanstalk/</guid>
		<description><![CDATA[echo -e &#8216;statsr&#8217; &#124; socat &#8211; tcp4-connect:localhost:11300  http://groups.google.com/group/beanstalk-talk/browse_thread/thread/df970acf6d7cf704?pli=1 http://stackoverflow.com/questions/4772770/how-can-i-get-a-list-of-all-jobs-in-beanstalk-tube]]></description>
			<content:encoded><![CDATA[<p>echo -e &#8216;statsr&#8217; | socat &#8211; tcp4-connect:localhost:11300 </p>
<p><a href="http://groups.google.com/group/beanstalk-talk/browse_thread/thread/df970acf6d7cf704?pli=1">http://groups.google.com/group/beanstalk-talk/browse_thread/thread/df970acf6d7cf704?pli=1</a></p>
<p><a href="http://stackoverflow.com/questions/4772770/how-can-i-get-a-list-of-all-jobs-in-beanstalk-tube">http://stackoverflow.com/questions/4772770/how-can-i-get-a-list-of-all-jobs-in-beanstalk-tube</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2011/08/monitoring-beanstalk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good example on working with Beanstalk in PHP</title>
		<link>http://dinesh.co.za/2011/08/content-with-style-php-worker-processes-with/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=content-with-style-php-worker-processes-with</link>
		<comments>http://dinesh.co.za/2011/08/content-with-style-php-worker-processes-with/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 08:59:49 +0000</pubDate>
		<dc:creator>Dinesh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Beanstalkd]]></category>

		<guid isPermaLink="false">http://dinesh.co.za/2011/08/content-with-style-php-worker-processes-with/</guid>
		<description><![CDATA[Content with Style &#8211; PHP worker processes with Beanstalk and Daemontools]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.contentwithstyle.co.uk/content/php-worker-processes-with-beanstalk-and-daemontools/'>Content with Style &#8211; PHP worker processes with Beanstalk and Daemontools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dinesh.co.za/2011/08/content-with-style-php-worker-processes-with/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

