<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: My work life is a hobby</title>
	<atom:link href="http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/</link>
	<description>Open your arms to change, but don&#039;t let go of your values</description>
	<lastBuildDate>Wed, 17 Mar 2010 01:40:19 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Craig</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49374</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Fri, 13 Nov 2009 19:23:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49374</guid>
		<description>&lt;a href=&quot;#comment-49371&quot; rel=&quot;nofollow&quot;&gt;@Meyrick Kirby&lt;/a&gt; 

If it&#039;s true it isn&#039;t either one. It&#039;s just true.</description>
		<content:encoded><![CDATA[<p><a href="#comment-49371" rel="nofollow">@Meyrick Kirby</a> </p>
<p>If it&#8217;s true it isn&#8217;t either one. It&#8217;s just true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Meyrick Kirby</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49371</link>
		<dc:creator>Meyrick Kirby</dc:creator>
		<pubDate>Fri, 13 Nov 2009 14:44:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49371</guid>
		<description>&lt;blockquote&gt;I’m pretty sure he doesn’t even work as a programmer and he just does it for fun!&lt;/blockquote&gt;

I wonder if this is a compliment or an insult?</description>
		<content:encoded><![CDATA[<blockquote><p>I’m pretty sure he doesn’t even work as a programmer and he just does it for fun!</p></blockquote>
<p>I wonder if this is a compliment or an insult?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49359</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Fri, 13 Nov 2009 04:16:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49359</guid>
		<description>&lt;a href=&quot;#comment-49358&quot; rel=&quot;nofollow&quot;&gt;@mo&lt;/a&gt; 

Well, I agree Meyrick Kirby is a geek! I&#039;m pretty sure he doesn&#039;t even work as a programmer and he just does it for fun!</description>
		<content:encoded><![CDATA[<p><a href="#comment-49358" rel="nofollow">@mo</a> </p>
<p>Well, I agree Meyrick Kirby is a geek! I&#8217;m pretty sure he doesn&#8217;t even work as a programmer and he just does it for fun!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mo</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49358</link>
		<dc:creator>mo</dc:creator>
		<pubDate>Fri, 13 Nov 2009 04:02:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49358</guid>
		<description>You guys are geeks.</description>
		<content:encoded><![CDATA[<p>You guys are geeks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Meyrick Kirby</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49355</link>
		<dc:creator>Meyrick Kirby</dc:creator>
		<pubDate>Thu, 12 Nov 2009 23:39:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49355</guid>
		<description>I think the trick to working with legacy code, and by extension making sure your own code is open to modifications by other programmers is unit testing, refactoring, and revision control sytems.

Recently I had to write a server-type program in Java that called some legacy code written in Fortran.  In particular the Fortran originally read inputs from, and wrote outputs to files.  Instead, I needed to pass the inputs from the Java, and retrieve the outputs to the Java.

There was little chance of me understanding the full ins and outs of the Fortran, since it was advanced physics.  However, I could get some example inputs off the physicists, calculate the outputs, and then write unit tests with them.  With the unit tests in place, I was then able to start making small changes the top level functions of the Fortran, making it easier to understand what was happening.  If I broke the Fortran code, the tests told me immediately, and I could role back the changes.

The end result was some neat code at the top.  I could of course gone further down into the Fortran, adding more tests at the lower levels and further tidying up the code, but I don&#039;t have the time.  In other words, the problem is writing unit tests for legacy code is time consuming, although one does get a sense of satisfaction afterward.</description>
		<content:encoded><![CDATA[<p>I think the trick to working with legacy code, and by extension making sure your own code is open to modifications by other programmers is unit testing, refactoring, and revision control sytems.</p>
<p>Recently I had to write a server-type program in Java that called some legacy code written in Fortran.  In particular the Fortran originally read inputs from, and wrote outputs to files.  Instead, I needed to pass the inputs from the Java, and retrieve the outputs to the Java.</p>
<p>There was little chance of me understanding the full ins and outs of the Fortran, since it was advanced physics.  However, I could get some example inputs off the physicists, calculate the outputs, and then write unit tests with them.  With the unit tests in place, I was then able to start making small changes the top level functions of the Fortran, making it easier to understand what was happening.  If I broke the Fortran code, the tests told me immediately, and I could role back the changes.</p>
<p>The end result was some neat code at the top.  I could of course gone further down into the Fortran, adding more tests at the lower levels and further tidying up the code, but I don&#8217;t have the time.  In other words, the problem is writing unit tests for legacy code is time consuming, although one does get a sense of satisfaction afterward.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49354</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Thu, 12 Nov 2009 23:08:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49354</guid>
		<description>&lt;a href=&quot;#comment-49352&quot; rel=&quot;nofollow&quot;&gt;@Christopher (AKA: CaJoh)&lt;/a&gt; 

By the way, in my opinion inheritance was *the* major selling point for the move to object orientation back in the 1990s. And if somebody is doing proper object-oriented design then there should be no need to have to try to decipher another programmer&#039;s chicken scratches. You can drive your own new class from theirs, and override anything that needs to behave differently leaving the original functionality in place wherever possible. And then if there&#039;s anything entirely new that needs to be done you are free to add that to your derived class. You don&#039;t have any need to modify their code at all... in fact, if you are re-writing somebody else&#039;s classes somebody is not following the playbook. 

And then a couple years later when somebody else is working on the project, they can derive their own class from yours, and inherit from both of the parent classes. 

Of course, a lot of programmers don&#039;t write their classes with inheritance in mind, but that&#039;s easily remedied. Most programmers don&#039;t like to think somebody else is going to be monkeying with their code after they are gone, so a gentle nudge usually does the trick.</description>
		<content:encoded><![CDATA[<p><a href="#comment-49352" rel="nofollow">@Christopher (AKA: CaJoh)</a> </p>
<p>By the way, in my opinion inheritance was *the* major selling point for the move to object orientation back in the 1990s. And if somebody is doing proper object-oriented design then there should be no need to have to try to decipher another programmer&#8217;s chicken scratches. You can drive your own new class from theirs, and override anything that needs to behave differently leaving the original functionality in place wherever possible. And then if there&#8217;s anything entirely new that needs to be done you are free to add that to your derived class. You don&#8217;t have any need to modify their code at all&#8230; in fact, if you are re-writing somebody else&#8217;s classes somebody is not following the playbook. </p>
<p>And then a couple years later when somebody else is working on the project, they can derive their own class from yours, and inherit from both of the parent classes. </p>
<p>Of course, a lot of programmers don&#8217;t write their classes with inheritance in mind, but that&#8217;s easily remedied. Most programmers don&#8217;t like to think somebody else is going to be monkeying with their code after they are gone, so a gentle nudge usually does the trick.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49353</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Thu, 12 Nov 2009 22:44:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49353</guid>
		<description>&lt;a href=&quot;#comment-49352&quot; rel=&quot;nofollow&quot;&gt;@Christopher (AKA: CaJoh)&lt;/a&gt; 

&lt;i&gt;Programmers need to be able to make their code understandable and maintainable...&lt;/i&gt;

They never do, though, Christopher! In fact the best programmers I&#039;ve ever met weren&#039;t even trained as programmers at all, but were electronics engineers! The stuff they could do blew my mind by trying to understand their gibberish code was beyond ridiculous! 

OK, to be fair there are a few times I&#039;ve read somebody else&#039;s code and been completely happy and even impressed with how they did things. I wish it was always like that! :)</description>
		<content:encoded><![CDATA[<p><a href="#comment-49352" rel="nofollow">@Christopher (AKA: CaJoh)</a> </p>
<p><i>Programmers need to be able to make their code understandable and maintainable&#8230;</i></p>
<p>They never do, though, Christopher! In fact the best programmers I&#8217;ve ever met weren&#8217;t even trained as programmers at all, but were electronics engineers! The stuff they could do blew my mind by trying to understand their gibberish code was beyond ridiculous! </p>
<p>OK, to be fair there are a few times I&#8217;ve read somebody else&#8217;s code and been completely happy and even impressed with how they did things. I wish it was always like that! <img src='http://www.rebelliousarabgirl.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christopher (AKA: CaJoh)</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49352</link>
		<dc:creator>Christopher (AKA: CaJoh)</dc:creator>
		<pubDate>Thu, 12 Nov 2009 22:34:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49352</guid>
		<description>Programmers need to be able to make their code understandable and maintainable, otherwise their successors will be wasting their time trying to understand your code in order to maintain it.

Good luck with re-engineering the wheel,</description>
		<content:encoded><![CDATA[<p>Programmers need to be able to make their code understandable and maintainable, otherwise their successors will be wasting their time trying to understand your code in order to maintain it.</p>
<p>Good luck with re-engineering the wheel,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Meyrick Kirby</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49351</link>
		<dc:creator>Meyrick Kirby</dc:creator>
		<pubDate>Thu, 12 Nov 2009 19:25:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49351</guid>
		<description>&lt;blockquote&gt;I have the inherited gene of dictatorship. I can’t help it.&lt;/blockquote&gt;

Typical, blame your parents why don&#039;t you?!</description>
		<content:encoded><![CDATA[<blockquote><p>I have the inherited gene of dictatorship. I can’t help it.</p></blockquote>
<p>Typical, blame your parents why don&#8217;t you?!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ahmed Masri</title>
		<link>http://www.rebelliousarabgirl.net/2009/11/10/my-work-life-is-a-hobby/comment-page-1/#comment-49347</link>
		<dc:creator>Ahmed Masri</dc:creator>
		<pubDate>Thu, 12 Nov 2009 16:28:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.rebelliousarabgirl.net/?p=9614#comment-49347</guid>
		<description>&lt;a href=&quot;#comment-49346&quot; rel=&quot;nofollow&quot;&gt;@Meyrick Kirby&lt;/a&gt; 

Thanks for the tip!</description>
		<content:encoded><![CDATA[<p><a href="#comment-49346" rel="nofollow">@Meyrick Kirby</a> </p>
<p>Thanks for the tip!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
