<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Stephen on Software aka SOS</title>
	<atom:link href="http://stephensoftware.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stephensoftware.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 30 Nov 2011 22:59:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='stephensoftware.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Stephen on Software aka SOS</title>
		<link>http://stephensoftware.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stephensoftware.wordpress.com/osd.xml" title="Stephen on Software aka SOS" />
	<atom:link rel='hub' href='http://stephensoftware.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Product Owner&#8217;s Gudie &#8211; Breaking down estimates</title>
		<link>http://stephensoftware.wordpress.com/2011/07/25/product-owners-gudie-breaking-down-estimates/</link>
		<comments>http://stephensoftware.wordpress.com/2011/07/25/product-owners-gudie-breaking-down-estimates/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 08:58:25 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/07/25/product-owners-gudie-breaking-down-estimates/</guid>
		<description><![CDATA[Overhead this while at work. &#160; &#8220;The Product Owner wants us to break down our inital estimate on the development effort into parts like analysis, design and coding &#8230;&#8221;. &#160; That sounds to me like the Product Owner(PO) thinks that whatever estimate that the team came up with is too long and wants to cut [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=383&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>
<div>Overhead this while at work.
<p /> &nbsp; &#8220;The Product Owner wants us to break down our inital estimate on the development effort into parts like analysis, design and coding &#8230;&#8221;.
<p /> &nbsp; That sounds to me like the Product Owner(PO) thinks that whatever estimate that the team came up with is too long and wants to cut the estimate. If the team gives such such a breakdown, then be prepared for the negotiation about the time needed for the project to be discussed.
<p /> &nbsp; But how is the team going to come up with such a figure anyway? I always found the statement like &#8220;Most of the time is spent in design but little in coding&#8221;, or using the 80-20 rule that 80% is spent in design and 20% in coding. Is that statement still relavant today? In the past (I&nbsp;mean way way past), people do spent a lot of time in design because computers process ur programs in batches and you better get it right the first time if not you wait a day for the next run.
<p /> &nbsp; Fast forward to today, where we have powerful ides, programs run almost instantly, where you can code a little, test a little, you are more likely to try a program a vertical slice and then build up your system from there, with refactoring tools so powerful, changing methods, implementing interfaces no longer is such a chore.
<p /> &nbsp; Now back to the story, not matter what the project team tries to justify their number the PO will just try to cut it. The problem with most people is that they have some prenotion of when the project will end, but they do not realised that an estimate is just that, <strong>an estimate</strong>, it&#8217;s a educated guess base on whatever&nbsp;information&nbsp;you have. An estimate is not an accurate prediction of the future a<span style="font-size:10pt;font-family:Tahoma;">nd couple with the fact that software estimates are usually wrong. Steve McConnell says it well in his book </span><span style="font-size:10pt;font-family:Tahoma;"><a href="http://www.amazon.com/gp/product/0735605351/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;tag=stephensblo0a-20&amp;linkCode=as2&amp;camp=178 9&amp;creative=9325&amp;creativeASIN=0735605351">Software Estimatation</a></span><span style="font-size:10pt;font-family:Tahoma;">.</span></div>
<div style="font-size:10pt;"> &nbsp;<br /> &#8220;Estimation should be treated as an unbiased, analytical process;<br /> planning should be treated as a biased, goal-seeking process&#8221;
<p /> </div>
<div>So if you ask someone for an estimate, you are asking for his opinion on how long it will take, and you shouldn&#8217;t try to cut his estimate down.</div>
<div style="font-size:10pt;">&nbsp;<br /> More likely is the product owner is trying to get a plan from the team not an estimate, and the team&#8217;s estimate isn&#8217;t matching his plan. His plan can be anything, could be trying to meet some timeline for marketing, or some trade show demo.
<p /> &nbsp; Product Owners please just tell the team what is your plan, it may be because of marketing, budget and other reasons that you need to slim it down. But please tell the real reason and not by trying to get the estimate within your plan.
<p /> &nbsp; For the development team, try to find out the underlying reason for doing such an exercise, buy a copy of Steve McConnell Estimation book and give it to him. Negatiate on the scope, not all features need to be a mercedes, sometimes a vespa is good enough.
<p /> &nbsp; The only thing that can be reliably cut down to meet the target is actually the <strong>scope</strong> of the project. Does&nbsp;the Product Owner&nbsp;need 100% of all the features of the software to be done to be really useful? More likely than not something like 50-70% will probably&nbsp;be good enough.&nbsp;</div>
<p />
<p />
<div style="font-size:10pt;">Main takeaway &#8211; Estimation and Planning are 2 different things, try to make sure what is it you are talking about.</div>
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=383&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/07/25/product-owners-gudie-breaking-down-estimates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>One hour early a day&#8230;</title>
		<link>http://stephensoftware.wordpress.com/2011/02/02/one-hour-early-a-day/</link>
		<comments>http://stephensoftware.wordpress.com/2011/02/02/one-hour-early-a-day/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 03:14:08 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/02/02/one-hour-early-a-day/</guid>
		<description><![CDATA[My latest read is&#160;Robin Sharma&#8217;s book (The Leader&#160;who had no&#160;title), interesting read. But one statement struck me (I more or less paraphrase it) &#8220;If you wake up one hour early each day for a month, in 30 days you will have almost one weeks worth of working time, think of the things you could do&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=382&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>   My latest read is&nbsp;Robin Sharma&#8217;s book (<a href="http://www.amazon.com/gp/product/1439109125?ie=UTF8&amp;tag=stephensblo0a-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1439109125">The Leader&nbsp;who had no&nbsp;title</a>), interesting read. But one statement struck me (I more or less paraphrase it)
<p />
<div><strong>&#8220;If you wake up one hour early each day for a month, in 30 days you will have almost one weeks worth of working time, think of the things you could do&#8221;</strong></div>
<p />
<div>When i told this to some of my colleagues/friends they say wha sleep less one hour how ? Not enough time to sleep already.</div>
<p />
<div><strong>&#8220;You have enough time to sleep when you are dead&#8221;&nbsp;</strong></div>
<p />
<div>I guess this is the difference between people who do impressive/great things (physically fit, be it in doing voluntary work, open source projects, making lots of money, hobbies, making a difference, side business, execise often) and the rest of us. They spent the time not just dreaming and talking&nbsp;about it but actually doing it. I am not actually saying that you forgo sleep altogether but think of the possibilities that could happen if you think about how to spend your time wisely.</div>
<p />
<div>At the end of our life, lets not spend time regretting what it might have been, or what we might have done better.</div>
<p />
<div>Remember the saying that you need 10,000 hours to become good at what u do, maybe i should start doing things instead of writing things on my blog <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/382/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=382&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/02/02/one-hour-early-a-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>Ebooks from top StackOverflow answers</title>
		<link>http://stephensoftware.wordpress.com/2011/01/26/ebooks-from-top-stackoverflow-answers/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/26/ebooks-from-top-stackoverflow-answers/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 15:37:13 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/01/26/ebooks-from-top-stackoverflow-answers/</guid>
		<description><![CDATA[Have you tried StackOverflow, if you are a developer its probably one of the best resource for asking questions. Its a great site, what is even greater is that someone converted the best answers into an Ebook format. Great for bring around, the link is here&#160;http://hewgill.com/~greg/stackoverflow/ebooks/. Whats nice is that it is broken up nicely [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=381&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>   Have you tried <a href="http://stackoverflow.com">StackOverflow</a>, if you are a developer its probably one of the best resource for asking questions.
<p />
<div>Its a great site, what is even greater is that someone converted the best answers into an Ebook format. Great for bring around, the link is here&nbsp;<a href="http://hewgill.com/~greg/stackoverflow/ebooks/">http://hewgill.com/~greg/stackoverflow/ebooks/</a>. Whats nice is that it is broken up nicely into the different subject like ajax, python, c#.</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/381/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/381/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=381&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/26/ebooks-from-top-stackoverflow-answers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>Posting data with Node.js</title>
		<link>http://stephensoftware.wordpress.com/2011/01/25/posting-data-with-node-js/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/25/posting-data-with-node-js/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 09:53:07 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[node.js]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/01/25/posting-data-with-node-js/</guid>
		<description><![CDATA[Recently i needed to post data using node.js, I was not trying to post a long string of data but rather parameters from a form. But the Node.js help page isn&#8217;t too helpful, it just say use request.write() to write data to the streamThis is the first interation i got. test.php is a simple php [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=377&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">
<p>Recently i needed to post data using node.js, I was not trying to post a long string of data but rather parameters from a form. But the Node.js help page isn&#8217;t too helpful, it just say use request.write() to write data to the streamThis is the first interation i got.</p>
<p><pre class="brush: jscript;">
var http=require('http');
var post=http.createClient(80,'localhost');
var request=post.request('POST',/test.php'.{'host':'localhost'});
request.write('test=10'); request.end();
request.on('response',function(response){
response.setEncoding('utf8');
reponse.on('data',function(chunk){ console.log(chunk); } });
</pre></p>
<p>test.php is a simple php script that prints out the parameter value.</p>
<p>I got nothing&#8230; nothing was printed out. What was wrong?</p>
<p>Using curl and Fiddler, i did a little investigating about what went wrong, what was missing was the <strong>Content-Length</strong> and the <strong>Content-Type</strong> which needs to be <strong>application/x-www-form-urlencoded</strong>.</p>
<p>Adding these 2 parameters to the script, results in</p>
<p><pre class="brush: jscript;">
var http=require('http');
var post=http.createClient(80,'localhost');
var request=post.request('POST',/test.php'.{'host':'localhost','Content-Length':'7','Content-Type':'application/x-www-form-urlencoded'});
request.write('test=10');
request.end();
request.on('response',function(response){
response.setEncoding('utf8');
reponse.on('data',function(chunk){
console.log(chunk); } });</pre></p>
<p>And yeah ! It works !&nbsp;</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=377&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/25/posting-data-with-node-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>JRex, Embedding Gecko (Firefox) in eclipse</title>
		<link>http://stephensoftware.wordpress.com/2011/01/11/jrex-embedding-gecko-firefox-in-eclipse/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/11/jrex-embedding-gecko-firefox-in-eclipse/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 09:29:00 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/01/11/jrex-embedding-gecko-firefox-in-eclipse/</guid>
		<description><![CDATA[Jrex is a Java component that embeds Mozila Gecko in your application. The project has been dead for some time since 2008 from what the mozdev.org page. So the version&#160;of Gecko may not be the latest but should be good enough for whatever you&#160;would like to try out. &#160;However looking at the code from Vijay [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=376&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>   Jrex is a Java component that embeds Mozila Gecko in your application. The project has been dead for some time since 2008 from what the mozdev.org page. So the version&nbsp;of Gecko may not be the latest but should be good enough for whatever you&nbsp;would like to try out.
<p />&nbsp;However looking at the code from Vijay (<a href="http://www.vijaykiran.com/2006/09/05/using-jrex-in-eclipse-rcp/">http://www.vijaykiran.com/2006/09/05/using-jrex-in-eclipse-rcp/</a><br />), i got it working and it seems to work fine, but Vijay dosen&#8217;t really go into how to setup the project like where to download the jars and where to put the dll and so on, and I did have some hard time trying to find out where to find the jars.
<p />&nbsp;Downloads <br />1. At first i took apart the jnlp file on jrex.mozdev.org to find out what are the dependencies, but after looking around the mozdev site, i finally found the downloads for the jars, source and docs in here (<a href="http://www.mozdev.org/sourc e/browse/jrex/downloads/#dirlist">http://www.mozdev.org/source/browse/jrex/downloads/#dirlist</a>).
<p />&nbsp;2. But it dosen&#8217;t include the jrex_gre files that are in the jnlp, those you can get them here (<a href="http://www.mozdev.org/source/browse/jrex/www/releases/jrex-1.0b1_dom3/">http://www.mozdev.org/source/browse/jrex/www/releases/jrex-1.0b1_dom3/</a>). Look for the jrex_gre.jar
<p />&nbsp;Setting up your eclipse.<br />Put the jrex.dll in your&nbsp;eclipse directory, if not you will get a UnsatisfiedLinkError when you try to run the&nbsp;view. Put the&nbsp;jrex.jar in your lib folder of your project.
<p />&nbsp;Unzip the jrex_gre.jar contents to a nice location you can remember. &nbsp;You will see in Vijay&#8217;s code a place that you will need to supply the path to the file in org/mozilla/jrex/jrex_gre files.
<p />&nbsp;That should fill up the missing pieces in Vijay&#8217;s writeup.
<p />I will try to package&nbsp;the source code into github at some later time.<br />&amp;n bsp;</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=376&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/11/jrex-embedding-gecko-firefox-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>Fedora 14 &#8211; Using the DVD as a software repository</title>
		<link>http://stephensoftware.wordpress.com/2011/01/06/fedora-14-using-the-dvd-as-a-software-repository/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/06/fedora-14-using-the-dvd-as-a-software-repository/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 01:32:10 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/01/06/fedora-14-using-the-dvd-as-a-software-repository/</guid>
		<description><![CDATA[Installed Fedora today at office in order to try out some web acceleration stuff lile squid and varnish. I used the DVD iso version, so that i can have most of the essential software already. &#160; When i rebooted i found that the dvd is not recongnised as a software repository, because there is no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=375&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>   Installed Fedora today at office in order to try out some web acceleration stuff lile squid and varnish. I used the DVD iso version, so that i can have most of the essential software already.
<p /> &nbsp; When i rebooted i found that the dvd is not recongnised as a software repository, because there is no entry in /etc/yum.repos.d/.
<p /> No biggie, just mount the dvd, in the root of the dvd there is a file media.repo, jus copy the file to /etc/yum.repos.d/ as packagekit-media.repo and you are all set, your dvd becomes a software repository.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=375&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/06/fedora-14-using-the-dvd-as-a-software-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>Resolutions 2011</title>
		<link>http://stephensoftware.wordpress.com/2011/01/05/resolutions-2011/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/05/resolutions-2011/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 01:53:24 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/2011/01/05/resolutions-2011/</guid>
		<description><![CDATA[My resolutions for 2011. For the personal geek in me (Probably have little to do with work) I declare this to be the year of functional programming for me! Common Lisp&#160; Begin by first completing Practical Common Lisp and Land of Lisp, and the little pet project that i do when i have free time, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=372&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>     My resolutions for 2011.
<p />
<div style="font-family:Tahoma;font-size:10pt;"><strong>For the personal geek in me (Probably have little to do with work)</strong></div>
<div style="font-family:Tahoma;font-size:10pt;">I declare this to be the year of functional programming for me!
<p /></div>
<p><img src="http://stephensoftware.files.wordpress.com/2011/01/media_httpwwwlisperat_mnqzh-scaled500.png?w=256&#038;h=223" width="256" height="223" />
<p />
<div style="font-family:Tahoma;font-size:10pt;">Common Lisp&nbsp;</div>
<div style="font-family:Tahoma;font-size:10pt;">Begin by first completing Practical Common Lisp and<a href="http://www.amazon.com/gp/product/1593272812?ie=UTF8&amp;tag=stephensblo0a-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1593272812"> Land of Lisp</a>, and the little pet project that i do when i have free time, the idea of closures and high order functions really appeal to me.</div>
<p />
<div><img src="http://posterous.com/getfile/files.posterous.com/stephenonsoftware/abwuCwowIvhkkghFsAEFaGGCArpfpratdfnHqlsJIFdanqdAmFiJqEBhaACz/media_httpwwwerlangor_caDCv.png.scaled500.png" width="156" height="135" /> </div>
<p />
<div><a href="http://en.wikipedia.org/wiki/Erlang_%28programming_language%29">Erlang</a></div>
<div>Another Functional Language that I hopefully have time for this year. Invented by Ericsson for using in telephony applications, it has some interesting properties like fault tolerant and hot swapping. Since it&#8217;s designed for telephony (which has something like 9 9&#8242;s of&nbsp;availability) you can actually swap in code while the system is running which i think its pretty cool.</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;">Hadoop/Map Reduce</div>
<div style="font-family:Tahoma;font-size:10pt;">Always heard about MapReduce and Hadoop, I shall attempt to read google&#8217;s paper on it and hopefully setup a working instance.</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;">NoSQL</div>
<div style="font-family:Tahoma;font-size:10pt;"><a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a> is getting big nowadays with <a href="http://www.readwriteweb.com/cloud/2011/01/how-twitter-uses-nosql.php">Twitter</a>&nbsp;and Facebook all moving/developing part of their infrastructure on top of NoSQL type of storage.</div>
<div style="font-family:Tahoma;font-size:10pt;">Learn at least one implementation and see how it can be worked into&nbsp;a project.</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;"><strong>For the bookworm in me<br /></strong></div>
<div style="font-family:Tahoma;font-size:10pt;">Read The Elements of Style, one of the great books on the writing for the English language. Time to get better at my writing, better written communication is essential as you go along ur working life.
<p />Read more &#8220;management&#8221; style books especially in the realm of making people happy at work, I am quite interested in how great organizations retain their people and keep them happy. <br />So far i have <a href="http://www.amazon.com/gp/product/0786868686?ie=UTF8&amp;tag=stephensblo0a-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0786868686">FISH! tales</a>, <a href="http://www.amazon.com/gp/product/B001OMHV0K?ie=UTF8&amp;tag=stephensblo0a-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001OMHV0K">Why work sucks</a> from the library here with me.
<p /></div>
<div style="font-family:Tahoma;font-size:10pt;"><strong>For the not so fit me<br /></strong></div>
<div style="font-family:Tahoma;font-size:10pt;">Finish taking my IPPT before June and pass it.</div>
<div style="font-family:Tahoma;font-size:10pt;">Run at least once a week at least 2.4km.</div>
<div style="font-family:Tahoma;font-size:10pt;">Attempt to run a half marathon by then end of the year. (Haha this will the hardest one in my list)</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;"><strong>For the bad habits in me<br /></strong></div>
<div>Second guessing or&nbsp;interrupting&nbsp;people midway</div>
<div>I don&#8217;t know if people noticed but i do have a bad habit of either completing other people&#8217;s sentence or second guessing what they will say. I will let others finish what they want to say before I start, I will try to follow the rule of <b>One Conversation at a time</b>.</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;">Procrastination</div>
<div style="font-family:Tahoma;font-size:10pt;">I have a habit of procrastinating, enuff said.
<p /></div>
<div style="font-family:Tahoma;font-size:10pt;"><strong>For the father and husband in me</strong><br />Vacation</div>
<div style="font-family:Tahoma;font-size:10pt;">Hopefully I will have time to go for a vacation, hopefully it will be the first time that I am bringing Chloe overseas.</div>
<p />
<div style="font-family:Tahoma;font-size:10pt;">Better Father/husband</div>
<div style="font-family:Tahoma;font-size:10pt;">Its quite hard trying to be specific as to what makes a better father, could be a variety of factors but i sorta like this one that I got from FISH! Tales book, <strong>&#8220;Love for child. is simply being there&#8221;</strong>.
<p />Lets look back again in 2012.</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/372/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/372/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/372/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=372&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/05/resolutions-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>

		<media:content url="http://stephensoftware.files.wordpress.com/2011/01/media_httpwwwlisperat_mnqzh-scaled500.png?w=256" medium="image" />

		<media:content url="http://posterous.com/getfile/files.posterous.com/stephenonsoftware/abwuCwowIvhkkghFsAEFaGGCArpfpratdfnHqlsJIFdanqdAmFiJqEBhaACz/media_httpwwwerlangor_caDCv.png.scaled500.png" medium="image" />
	</item>
		<item>
		<title>2010 in review</title>
		<link>http://stephensoftware.wordpress.com/2011/01/03/2010-in-review/</link>
		<comments>http://stephensoftware.wordpress.com/2011/01/03/2010-in-review/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 01:38:30 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/?p=369</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads This blog is on fire!. Crunchy numbers A helper monkey made this abstract painting, inspired by your stats. The average container ship can carry about 4,500 containers. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=369&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy4.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads This blog is on fire!.</p>
<h2>Crunchy numbers</h2>
<div style="width:288px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;">
<p><img src="http://s0.wp.com/i/annual-recap/abstract-stats-7.png" alt="Featured image" /></p>
<p><em>A helper monkey made this abstract painting, inspired by your stats.</em></p>
</div>
<p>The average container ship can carry about 4,500 containers. This blog was viewed about <strong>20,000</strong> times in 2010. If each view were a shipping container, your blog would have filled about 4 fully loaded ships.</p>
<p>In 2010, there were <strong>9</strong> new posts, growing the total archive of this blog to 53 posts.</p>
<p>The busiest day of the year was June 4th with <strong>297</strong> views. The most popular post that day was <a style="color:#08c;" href="http://stephensoftware.wordpress.com/2010/06/03/terms-in-functional-programming/">Terms in Functional Programming</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>dzone.com</strong>, <strong>google.com</strong>, <strong>google.co.in</strong>, <strong>info4tech.wordpress.com</strong>, and <strong>jdon.com</strong>.</p>
<p>Some visitors came searching, mostly for <strong>ljava.lang.string</strong>, <strong>extjs form validation</strong>, <strong>ljava.lang.string; cannot be cast to java.lang.string</strong>, and <strong>[ljava.lang.string; cannot be cast to java.lang.string</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://stephensoftware.wordpress.com/2010/06/03/terms-in-functional-programming/">Terms in Functional Programming</a> <span style="color:#999;font-size:8pt;">June 2010</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://stephensoftware.wordpress.com/2009/01/29/javalangclasscastexception-ljavalangstring-cannot-be-cast-to-javalangstring-when-using-httpservletrequest-getparameters/">java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String When using HttpServletRequest getParameters()</a> <span style="color:#999;font-size:8pt;">January 2009</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://stephensoftware.wordpress.com/2009/03/31/ext-js-disabling-formpanel-submit-if-validation-fails/">Ext JS &#8211; Disabling FormPanel submit if validation fails</a> <span style="color:#999;font-size:8pt;">March 2009</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://stephensoftware.wordpress.com/2009/07/30/jax-ws-and-http-proxy/">JAX-WS and Http Proxy</a> <span style="color:#999;font-size:8pt;">July 2009</span></p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://stephensoftware.wordpress.com/2009/08/18/getting-the-gbrowser-object-in-firefox/">Getting the gBrowser object in Firefox</a> <span style="color:#999;font-size:8pt;">August 2009</span><br />
1 comment</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/369/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=369&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2011/01/03/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy4.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/abstract-stats-7.png" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>Moving to new domain</title>
		<link>http://stephensoftware.wordpress.com/2010/06/25/moving-to-new-domain/</link>
		<comments>http://stephensoftware.wordpress.com/2010/06/25/moving-to-new-domain/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 05:08:31 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/?p=353</guid>
		<description><![CDATA[To all my readers, I will be moving this blog to a new domain http://www.stephenonsoftware.com, and I will be migrating posts from this site. For those who are following me using RSS please use the new RSS address. http://feeds.feedburner.com/StephenOnSoftware<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=353&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To all my readers, I will be moving this blog to a new domain <a href="http://www.stephenonsoftware.com">http://www.stephenonsoftware.com</a>, and I will be migrating posts from this site.</p>
<p>For those who are following me using RSS please use the new RSS address. <a href="http://feeds.feedburner.com/StephenOnSoftware" target="_blank">http://feeds.feedburner.com/StephenOnSoftware</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=353&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2010/06/25/moving-to-new-domain/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>
	</item>
		<item>
		<title>Terms in Functional Programming</title>
		<link>http://stephensoftware.wordpress.com/2010/06/03/terms-in-functional-programming/</link>
		<comments>http://stephensoftware.wordpress.com/2010/06/03/terms-in-functional-programming/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 05:38:07 +0000</pubDate>
		<dc:creator>sljm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://stephensoftware.wordpress.com/?p=337</guid>
		<description><![CDATA[Well I am trying to rediscover &#8220;Functional Programming&#8221; these days, playing around with Common Lisp and Clojure. Found lots of terms that I have little or no understanding of. Think others may be like me and just compile them here for others to learn. The examples are mainly taken from Wikipedia and some from talks [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=337&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well I am trying to rediscover &#8220;Functional Programming&#8221; these days, playing around with Common Lisp and Clojure. Found lots of terms that I have little or no understanding of. Think others may be like me and just compile them here for others to learn. The examples are mainly taken from Wikipedia and some from talks I&#8217;ve heard. Feel free to suggest what else should be added to the list.</p>
<h2>Closure</h2>
<p>As defined in Wikipedia &#8220;a <strong>closure</strong> is a <a title="First-class function" href="http://en.wikipedia.org/wiki/First-class_function">first-class function</a> with <a title="Free variables and bound variables" href="http://en.wikipedia.org/wiki/Free_variables_and_bound_variables">free variables</a> that are <a title="Name binding" href="http://en.wikipedia.org/wiki/Name_binding">bound</a> in the <a title="Lexical environment" href="http://en.wikipedia.org/wiki/Lexical_environment">lexical environment</a>. Such a function is said to be &#8220;closed over&#8221; its free variables&#8221;</p>
<p>Let see an example,</p>
<p><pre class="brush: jscript;">
var digit_names=function(){
    var digits=[&quot;zero&quot;,&quot;one&quot;,&quot;two&quot;,&quot;three&quot;,...];
    return function(n){
        return digits[n];
    }
}
</pre></p>
<p>In this case the <strong>digit_name</strong> are the free variables, and it returns a new function with one parameter &#8220;n&#8221;, that will display the text representation of the number. Notice that even when the function extits, it still maintain the <strong>digit_name</strong> array in the new function, so the new function is closed over the <strong>digit_name</strong> array.</p>
<p>Another javascript example this time in jQuery.</p>
<p><pre class="brush: jscript;">
var add_link=function(id,text){
$(&quot;#&quot;+id).click(function(){
alert(&quot;Hello World&quot;+text);
});
}
</pre></p>
<p><a href="http://weblogs.java.net/blog/cayhorstmann/archive/2009/11/18/closures-java-7" target="_blank">Java Proposal for closures</a></p>
<h2>Functions as first class arguments</h2>
<p>What the hell is this ? Basically first class objects are things that you can pass them into function/methods and also return them from methods. In Java that means primitives like int,char and objects like Strings, Integer and your own custom objects.</p>
<p>So if a language supports first class functions that means you can pass functions as a argument and also returns functions from functions.</p>
<p>Exampls of such languages are Common Lisp, Scheme, Clojure, Javascript.</p>
<p><pre class="brush: bash;">
(defn is10? [b]
    (if (= b 10) true nil))

(filter a [1 2 3 4 5 10])
</pre></p>
<p>The above example in clojure defines a <strong>is10?</strong> that checks if a number is equals to 10. We then pass the <strong>is10?</strong> to a <strong>filter</strong> function that will remove all numbers except where the number is 10. The <strong>filter</strong> function coincidentally is called a HIgher level function.</p>
<h2>Metaprogramming</h2>
<p>Sounds quite abstract, programming is programming what the hell is the &#8220;meta&#8221; word doing there. Metaprogramming simply said are programs that write or manipulate other programs as data.</p>
<p>An example in Bash from Wikipedia.</p>
<p><pre class="brush: bash;">
#!/bin/bash
# metaprogram
echo '#!/bin/bash' &gt;program
for ((I=1; I&lt;=992; I++)) do
    echo &quot;echo $I&quot; &gt;&gt;program
done
chmod +x program
</pre></p>
<p>This one is a program that writes a program that prints 1 to 992.</p>
<p>Compliers are another examples of metaprogramming, translating programs into bits and bytes that can be executed. C++ templates are another example.</p>
<p>ROR ActiveRecord patterns, Hibernate frameworks are examples of frameworks that use metaprogramming to generate code base on your database structure/definations.</p>
<h2>Homoiconicity</h2>
<p>Basically it means that the program you are writing is actually some primitive data structure in the language itself.  Sounds weird right.</p>
<p>Languages that have this property include LISP,Clojure, Prolog, XSLT, Xquery (not exhaustive).</p>
<p>For example a primitive structure in LISP is the list. You can represent code in list data structure and it can be evaluated. The advantage is that it makes <a href="http://en.wikipedia.org/wiki/Metaprogramming" target="_blank">meta programming</a> easier, that means it makes it easy to write programs that manipulate other programs  as their data.</p>
<p>Below examples taken from <a href="http://en.wikipedia.org/wiki/Homoiconicity" target="_blank">Wikipedia</a>.</p>
<p><pre class="brush: xml;">
(setf expression  (list '* (list 'sin 1.1) (list 'cos 2.03)) )
-&gt; (* (SIN 1.1) (COS 2.03))    ; Lisp returns and prints the result

(third expression)    ; the third element of the expression
-&gt; (COS 2.03)
</pre></p>
<p>You can see that the <strong>sin 1.1 * cos 2.03</strong> code is represented is a list structure in LISP and LISP is able to process that &#8220;data&#8221; and evaluates the result of that data.</p>
<h2>Immutable</h2>
<p>It just means that the data cannot be changed after it has been created, the opposite is mutable. In an object orientated world most of the data is mutable that means we allow data or properties in the objects to change state. That&#8217;s why we need locking in order to access the data and make sure no one can change the data while we are changing it.</p>
<p>If all your data is immutable, there wouldn&#8217;t need to be locks since all data is read only. Erlang,Haskell,OCaml has only single assignment for its variables, most other languages have some keyword or syntax to denote the variable as read only, example Java uses the final keyword.</p>
<p>Data immutability is said to reduce the number of side effects and also makes programs easy to debug.</p>
<p><strong>If you like this post and would like to support my site feel free to <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=WHFXWJTAGT7ML"><img src="https://www.paypal.com/en_GB/SG/i/btn/btn_buynowCC_LG.gif" alt="" />buy me a beer !</a></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stephensoftware.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stephensoftware.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stephensoftware.wordpress.com/337/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stephensoftware.wordpress.com&amp;blog=5387668&amp;post=337&amp;subd=stephensoftware&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stephensoftware.wordpress.com/2010/06/03/terms-in-functional-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/33e96e287a3ae5f1e8ca24b299deb67d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sljm</media:title>
		</media:content>

		<media:content url="https://www.paypal.com/en_GB/SG/i/btn/btn_buynowCC_LG.gif" medium="image" />
	</item>
	</channel>
</rss>
