<?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>Juggling Eggs</title>
	<atom:link href="http://sonnygill.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://sonnygill.net</link>
	<description>Priceless eggs, variable gravity</description>
	<lastBuildDate>Tue, 15 Feb 2011 10:54:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Free Online Hadoop Training by Cloudera</title>
		<link>http://sonnygill.net/nosql/hadoop-training-cloudera/</link>
		<comments>http://sonnygill.net/nosql/hadoop-training-cloudera/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 19:38:15 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[nosql]]></category>
		<category><![CDATA[cloudera]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[hbase]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=288</guid>
		<description><![CDATA[I was looking for some online training on Hadoop. Turns out Cloudera has some excellent training available online, and best of all it is free.
I decided to create a list of all the training material with the time required to go through each one for easy reference


Training
Type
Time



Introduction to HBase

Video

15 min




Download and setup training VM

VMWare VM

~




Thinking [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking for some online training on Hadoop. Turns out Cloudera has some excellent <a href="http://www.cloudera.com/blog/2009/03/clouderas-basic-hadoop-training-now-free-online/">training</a> available <a href="http://www.cloudera.com/resources/?type=Training">online</a>, and best of all it is free.</p>
<p>I decided to create a list of all the training material with the time required to go through each one for easy reference</p>
<table>
<tr>
<th>Training</th>
<th>Type</th>
<th>Time</th>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/intorduction-hbase-todd-lipcon">Introduction to HBase</a>
</td>
<td>Video
</td>
<td>15 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/downloads/virtual-machine/">Download and setup training VM</a>
</td>
<td>VMWare VM
</td>
<td>~
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/thinking_at_scale">Thinking at Scale</a>
</td>
<td>Video
</td>
<td>23 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/mapreduce_and_hdfs">MapReduce and HDFS</a>
</td>
<td>Video
</td>
<td>50 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/resource/getting_started_with_hadoop">Getting Started with Hadoop</a>
</td>
<td>PDF, exercises
</td>
<td>30 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/hadoop_ecosystem_tour">Hadoop Ecosystem Tour</a>
</td>
<td>Video
</td>
<td>20 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/programming_with_hadoop">Programming with Hadoop</a>
</td>
<td>Video
</td>
<td>50 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/mapreduce_algorithms">MapReduce Algorithms</a>
</td>
<td>Video
</td>
<td>35 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/resource/writing_mapreduce_programs">Writing MapReduce Programs</a>
</td>
<td>PDF, exercises
</td>
<td>90 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/introduction_to_hive">Introduction to Hive</a>
</td>
<td>Video
</td>
<td>50 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/hive_tutorial">Hive Tutorial</a>
</td>
<td>Video
</td>
<td>16 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/introduction_to_pig">Introduction to Pig</a>
</td>
<td>Video
</td>
<td>50 min
</td>
</tr>
<tr>
<td>
<a href="http://www.cloudera.com/videos/pig_tutorial">Pig Tutorial</a>
</td>
<td>Video
</td>
<td>15 min
</td>
</tr>
</table>
<p>So far I have gone through the first couple of videos and set up the VM. The videos are really good. Hopefully, they will offer more of their training online (free, or paid) or start to offer it more frequently in Europe.</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/nosql/hadoop-training-cloudera/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Set timeout on Web Service proxy generated by Flex Builder</title>
		<link>http://sonnygill.net/programming/flex-builder-wsdl-web-service-request-timeout/</link>
		<comments>http://sonnygill.net/programming/flex-builder-wsdl-web-service-request-timeout/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 18:52:08 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=280</guid>
		<description><![CDATA[Flex Builder has a pretty nifty WSDL tool to generate support classes to access a Web Service.Some of the code generated looks rather sloppy though, but then that is the case with most code generation tools.
One glaring omission seems to be that there is no way to set a request timeout when using the Service [...]]]></description>
			<content:encoded><![CDATA[<p>Flex Builder has a pretty nifty WSDL tool to <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=data_4.html">generate support classes to access a <strong>Web Service</strong></a>.<br />Some of the code generated looks rather sloppy though, but then that is the case with most code generation tools.</p>
<p>One glaring omission seems to be that there is no way to set a <strong>request timeout</strong> when using the Service class generated.<br />What further adds to confusion is that the underlying Service class in fact extends mx.rpc.AbstractWebService and hence mx.rpc.AbstractService which has a <strong><a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/AbstractService.html#requestTimeout">requestTimeout</a></strong> property. Setting that property has no effect however.</p>
<p>To set a timeout on the request, you need to modify the <strong>Flex Builder</strong> generated class.</p>
<p>Find the method that actually makes the call to the remote server, and set the <strong>requestTimeout</strong> value on the <strong>AsyncRequest</strong> being created</p>
<pre class="brush: as3;">
private function call(operation:WSDLOperation, args:Object, token:AsyncToken, headers:Array=null):void
{    
  var enc:SOAPEncoder = new SOAPEncoder();
  …    
  var inv:AsyncRequest = new AsyncRequest();    
  inv.requestTimeout = _asyncRequestTimeout;
  …    
  inv.invoke(message,processRes);
}
</pre>
<p>And add an asyncRequestTimeout property to the service class</p>
<pre class="brush: as3;">
private var _asyncRequestTimeout:int;
public function set asyncRequestTimeout(asyncRequestTimeout:int):void        
{            
  _asyncRequestTimeout = asyncRequestTimeout;        
}
</pre>
<p>You could also use the asyncRequest property in AbstractService instead of creating your own property, but this way if somebody overwrites the generated class without adding these changes, the compiler will flag it as an error.<br />
And a compile time error is always better than a runtime bug, isn&#8217;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/programming/flex-builder-wsdl-web-service-request-timeout/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Maven on Intellij IDEA on Mac</title>
		<link>http://sonnygill.net/tech/maven-intellij-idea-mac-osx/</link>
		<comments>http://sonnygill.net/tech/maven-intellij-idea-mac-osx/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 19:05:05 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Note To Self]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[IDEA]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=270</guid>
		<description><![CDATA[To easily use Maven from Intellij IDEA on a Mac, create or modify the file ~/.MacOSX/environment.plist, and add an entry for M2_HOME]]></description>
			<content:encoded><![CDATA[<p>Running/Debugging a maven target on Intellij IDEA results in a big scary error message: -</p>
<p>﻿Error running [...]: No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system.</p>
<p>To fix, you have to add M2_HOME variable in the Mac specific way.</p>
<p>Create or modify the file ~/.MacOSX/environment.plist, and add an entry for M2_HOME</p>
<p>If that file is already there, you may find that you can&#8217;t edit in a text editor because it is a binary file. First you will have to convert it to plain text (xml), edit it, and then you can convert it back to the binary format.</p>
<p>$ plutil -convert xml1 environment.plist</p>
<p>$ vim environment.plist</p>
<p>$ plutil -convert binary1 environment.plist</p>
<p>Ref: ﻿<a href="http://youtrack.jetbrains.net/issue/IDEA-21225">http://youtrack.jetbrains.net/issue/IDEA-21225</a> and ﻿<a href="http://devnet.jetbrains.net/thread/278634">http://devnet.jetbrains.net/thread/278634</a></p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/tech/maven-intellij-idea-mac-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer communities in the Netherlands</title>
		<link>http://sonnygill.net/life/developer-communities-netherlands/</link>
		<comments>http://sonnygill.net/life/developer-communities-netherlands/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 19:01:59 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[communities]]></category>
		<category><![CDATA[holland]]></category>
		<category><![CDATA[netherlands]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=268</guid>
		<description><![CDATA[July last year, I moved to the Netherlands to join Xebia Nederland after working at Xebia India for a year.
There were a few different reasons for the move, but one thing that I was looking forward to personally was a more vibrant developer community. In spite of the huge number of developers in India, there [...]]]></description>
			<content:encoded><![CDATA[<p>July last year, I moved to the Netherlands to join Xebia Nederland after working at Xebia India for a year.</p>
<p>There were a few different reasons for the move, but one thing that I was looking forward to personally was a more vibrant developer community. In spite of the huge number of developers in India, there are not that many hard core developer events or communities. What events there are, are geared towards marketing or propagation of latest buzzwords be they Agile, Lean, or Cloud or something else. And Malaysia before that wasn&#8217;t any better either.</p>
<p>In contrast, in the Netherlands, I have been to a whole lot of programming groups and events in just six months &#8211; <a href="http://www.devoxx.com/display/Devoxx2K10/Sonny+Gill+Schedule">Devoxx 2010</a>, and a fair few <a href="http://www.meetup.com/nosql-nl/">NL NoSQL</a> group meetups. Not to mention such events hosted by Xebia itself &#8211; many excellent <a href="http://blog.xebia.com/2007/02/01/how-xebia-consultants-stay-ahead-of-the-game/">Xebia knowledge exchange</a> <a href="http://app-incubator.xebia.com/">sessions</a> and tech rallies. A few months ago, we had <a href="https://sites.google.com/a/gertrudandcope.com/www/jimcoplien">James Coplien</a> come in for two days to talk about lean architecture and organizational patterns. During one of the last tech rallies, <a href="http://dannorth.net/">Dan North</a> dropped by for a while and talked about <a href="http://dannorth.net/2010/08/30/introducing-deliberate-discovery/">deliberate discovery</a> and his other (post agile?) ideas. In short, the developer in me has been having a rocking time. Let us see what the year 2011 brings!</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/life/developer-communities-netherlands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On being a programmer in India</title>
		<link>http://sonnygill.net/software-development/programmer-india-outsourcing/</link>
		<comments>http://sonnygill.net/software-development/programmer-india-outsourcing/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 13:13:01 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=264</guid>
		<description><![CDATA[Early in 2009, we moved to India for a while after having lived in Malaysia for over 6 years. This was also the first time I really got to work in software development in India (not counting my very first job which I no longer count in my experience).
Now, I worked at a great place [...]]]></description>
			<content:encoded><![CDATA[<p>Early in 2009, we moved to India for a while after having lived in Malaysia for over 6 years. This was also the first time I really got to work in software development in India (not counting my very first job which I no longer count in my experience).</p>
<p>Now, I worked at a great place and learnt a lot in the year I was there, not to mention many new friends I made. But there was one thing I realized while there that will make me think twice about moving to India again. You see, if you are working in a services company and most of the time you are working for clients in Europe or US, the main reason they are coming to India is to save costs.</p>
<p>What that means for you as a programmer is that there is an upper bound on how much the client will pay for you &#8211; be it USD 25, 35 or 50. Past that limit, it does not matter how good you are, your company cannot bill you at a higher rate. The reason being that most of the time, for the client, you are basically a guy with 6 years of experience in technology X (or 8 year or whatever).</p>
<p>Of course, there are developers in India who are getting paid the same as the developers in US. But not in a services company. They are probably working in certain product companies, or through their existing network, or on their own startups. You can get what you believe you are worth only if the client is hiring &#8220;You&#8221; and not just an &#8220;X years of experience&#8221; guy. This is something I will have to think really hard about if I ever move to India again.</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/software-development/programmer-india-outsourcing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintenance mode</title>
		<link>http://sonnygill.net/life/maintenance-mode/</link>
		<comments>http://sonnygill.net/life/maintenance-mode/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 19:30:18 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=249</guid>
		<description><![CDATA[Just for fun, I thought I will move my blog to WordPress MU. 
It should be restored to its former glory as soon as I can get some time free from my projects and our brand new baby  
]]></description>
			<content:encoded><![CDATA[<p>Just for fun, I thought I will move my blog to WordPress MU. </p>
<p>It should be restored to its former glory as soon as I can get some time free from my projects and our brand new baby <img src='http://sonnygill.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/life/maintenance-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pivotal Tracker &#8211; agile project planning</title>
		<link>http://sonnygill.net/software-development/pivotal-tracker-agile-project-planning/</link>
		<comments>http://sonnygill.net/software-development/pivotal-tracker-agile-project-planning/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 17:46:14 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[project planning]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=247</guid>
		<description><![CDATA[Pivotal Tracker, a simple and usable user story based project planning tool.]]></description>
			<content:encoded><![CDATA[<p>A mention from a colleague made me look up <a href="http://www.pivotaltracker.com">Pivotal Tracker</a>. It looks like a really nice tool for planning Scrums. We are using Version 1 on our current project, and I hate that beast. In comparison, Pivotal Tracker&#8217;s clean, usable interface looks really great.</p>
<div style="text-align:center"><img src="http://sonnygill.net/files/2009/12/Pivotal-Tracker.png" alt="Pivotal-Tracker.png" border="0" width="500" height="255" /></div>
<p>I created a small test project to check it out. It is a somewhat opinionated software, and may not do some of the things that you expect it to do. For example, by default, there is no option to break down a story into tasks, or to assign points to bugs and technical tasks, but you can change that setting on a per-project basis if you want to. Check out their help section for other things it can or cannot do &#8211; <a href="http://www.pivotaltracker.com/help">Pivotal Tracker help</a>.<br />
And it is free with no limitations! What more can you ask for, go check it out today.</p>
<p>Another good write up on Pivotal Tracker &#8211; </p>
<p>Helping web developers and operations bridge the deployment gap<br />
<a href="http://www.agileweboperations.com/thoughtworks-mingle-vs-pivotal-labs-tracker/">Thoughtworks Mingle vs. Pivotal Labs Tracker</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/software-development/pivotal-tracker-agile-project-planning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Chrome for Mac available in beta</title>
		<link>http://sonnygill.net/mac/google-chrome-mac-beta/</link>
		<comments>http://sonnygill.net/mac/google-chrome-mac-beta/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 04:24:14 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=245</guid>
		<description><![CDATA[Google Chrome for Mac is available in beta.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://sonnygill.net/2009/06/07/google-chrome-on-mac/">developer release of Google Chrome</a> for Mac has been around for a while.<br />
Finally, the general beta release is out &#8211;  <a href="http://www.google.com/chrome/intl/en/huzzah.html">Google Chrome for Mac</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/mac/google-chrome-mac-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Post-Notification &#8211; Show the author in email subject</title>
		<link>http://sonnygill.net/tech/wordpress-post-notification-author-subject/</link>
		<comments>http://sonnygill.net/tech/wordpress-post-notification-author-subject/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 05:30:57 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[post notification]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=242</guid>
		<description><![CDATA[Show the post author in the email subject when sending email using the Post Notification plugin]]></description>
			<content:encoded><![CDATA[<p>I was trying to fix a WordPress Post Notification plugin to include the post author in the emails subject. Instead of inserting the author name it was leaving the @@author in the subject.</p>
<p>A little digging around found me the solution -</p>
<p>In sendmail.php-&gt;post_notification_create_email(), find -</p>
<pre class="brush: plain;">
$subject = get_option('post_notification_subject');
</pre>
<p>and add a new line after that -</p>
<pre class="brush: plain;">
$subject = str_replace('@@author', $post_author, $subject);
</pre>
<p>Ref &#8211; <a href="http://pn.strübe.de/forum.php?req=thread&amp;id=384">Post Notification forum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/tech/wordpress-post-notification-author-subject/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving a WordPress blog to new domain</title>
		<link>http://sonnygill.net/tech/wordpress-database-domain-name-site-url/</link>
		<comments>http://sonnygill.net/tech/wordpress-database-domain-name-site-url/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 14:05:34 +0000</pubDate>
		<dc:creator>Sonny Gill</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sonnygill.net/?p=237</guid>
		<description><![CDATA[Instructions for moving your WordPress blog to a new domain or subdomain]]></description>
			<content:encoded><![CDATA[<p><strong>Wordpress</strong> documentation does a pretty good job of explaining the steps you have to take if you are <strong>moving your wordpress blog to a new domain</strong>.</p>
<p>See <a href="http://codex.wordpress.org/Changing_The_Site_URL#Domain_Name_Change">Changing The Site URL &#8211;    Domain Name Change</a></p>
<p>Even after you update the guid in your <strong>WordPress</strong> database&#8217;s posts table by following the instructions there, you may find that some of the images do not show up, and the image and other links are broken.</p>
<p>Run this command to see if the problem is in the post contents in the WordPress database&#8217;s posts table -</p>
<pre class="brush: plain;">
select id, post_title from wp_posts where post_content like '%exampleoldsiteurl%';
</pre>
<p>(Replace exampleoldsiteurl with the old url of your blog)</p>
<p>If this shows posts that are using the old url, you need to replace that url in the post_content just as you did for guid -</p>
<pre class="brush: plain;">
UPDATE wp_posts SET post_content = replace(post_content, 'exampleoldsiteurl','examplenewsiteurl');
</pre>
<p>Make sure to carefully read the instructions on the <strong>WordPress</strong> Codex link above, and absolutely make certain that you have a back-up of your <strong>database</strong> before you run these sql commands on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://sonnygill.net/tech/wordpress-database-domain-name-site-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

