<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>The Coder's Perspective</title>
    <link>http://thecodersperspective.posterous.com</link>
    <description>Willem Odendaal's Blog</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" type="application/json" href="http://posterous.com/api/sup_update#8af652a74" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/posterous/EMLY" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="posterous/emly" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Thu, 16 Feb 2012 21:33:34 -0800</pubDate>
      <title>Reflection: I'm a versatile person</title>
      <link>http://thecodersperspective.posterous.com/reflection-im-a-versatile-person</link>
      <guid>http://thecodersperspective.posterous.com/reflection-im-a-versatile-person</guid>
      <description>
        <![CDATA[<p>
	<div>We can be so hard on ourselves, so it&#39;s nice to take a step back and think about what we do well.</div><p /><div>I&#39;m going to take advantage of my own blog and do a little bragging today. In relation to my job, I am actually a very versatile person. </div> <div><ul><li>I code nice front-ends.</li><li>I code advanced back-ends.</li><li>I&#39;m good at Debugging weird issues.</li></ul><p /></div><div>But I&#39;m more than just a code monkey. I also do the following things pretty well:</div> <div><ul><li>I&#39;m organized - I get things done.</li><li>I write well - proposals and blog posts.</li><li>I do presentations.</li><li>I design.</li><li>I&#39;m professional and friendly when I deal with clients.</li><li> I even do network admin stuff.</li></ul></div><div>That&#39;s a lot to be proud of I think.</div><p /><div>There are some things that I&#39;m<b> not</b> so good at though, but practice makes perfect:</div><div><ul> <li>Coordinating a project</li><li>Dealing with project politics</li><li>Fighting with managers and clients (i.e. pushing back against unrealistic expectations)</li><li>Handling too much pressure</li></ul></div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/reflection-im-a-versatile-person">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/reflection-im-a-versatile-person#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 14 Feb 2012 22:38:54 -0800</pubDate>
      <title>Different kinds of viruses/virii</title>
      <link>http://thecodersperspective.posterous.com/different-kinds-of-virusesvirii</link>
      <guid>http://thecodersperspective.posterous.com/different-kinds-of-virusesvirii</guid>
      <description>
        <![CDATA[<p>
	A colleague, Justus, described the different kinds of viruses/virii to me. Interesting stuff...<p /><div><ul><li><b>A Trojan</b> - opens a &quot;back door&quot; into your system. Just like the story about the Trojan Horse.</li> <li><b>A Worm</b> - propagates aggressively across your system and the network.</li><li><b>A Rootkit</b> - the most advanced. Attaches itself onto the operating system kernel and hides itself. Very difficult to detect and very dangerous.</li> </ul><div>Nasty little fuckers.</div></div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/different-kinds-of-virusesvirii">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/different-kinds-of-virusesvirii#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 01 Feb 2012 04:25:06 -0800</pubDate>
      <title>An interesting difference between the ASP.NET Dev Server and IIS</title>
      <link>http://thecodersperspective.posterous.com/an-interesting-difference-between-the-aspnet</link>
      <guid>http://thecodersperspective.posterous.com/an-interesting-difference-between-the-aspnet</guid>
      <description>
        <![CDATA[<p>
	By default IIS will not return static content like CSS and JS files through the <a href="http://ASP.NET">ASP.NET</a> pipeline. So Global.asax won&#39;t be invoked.<p /><div>But on the <a href="http://ASP.NET">ASP.NET</a> Dev server all files, including CSS and JS files, will go through the <a href="http://ASP.NET">ASP.NET</a> pipeline. So Global.asax will be invoked.</div> <p /><div>Remember this when you&#39;re profiling your application! It can lead to skewed results.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/an-interesting-difference-between-the-aspnet">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/an-interesting-difference-between-the-aspnet#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 26 Jan 2012 21:53:00 -0800</pubDate>
      <title>Skyrim first impressions</title>
      <link>http://thecodersperspective.posterous.com/skyrim-first-impressions</link>
      <guid>http://thecodersperspective.posterous.com/skyrim-first-impressions</guid>
      <description>
        <![CDATA[<p>
	<p>So I started playing Skyrim last night and I have to say: What a Treat!</p>
<p />
<div>I spent a lot of time looting and enjoying the scenery. I only played for two hours, but in those two hours I felt like I was in a different world entirely. The game really sucks you in. I love the frigid landscape, the mountains and the waterfalls; it feels like you're in Beowulf.</div>
<p />
<div>But what I really appreciate is the slick menu system. You can see that Bethesda put a lot of effort into the menu. I find it interesting how they use typography (mostly font size actually) and subtle icons to indicate what's active on the menu and what's important. Most other games seem to go the garish-background and border-overload route to compartementalize the user interface. So I really like how Bethesda did Skyrim's menu. Very well done.</div>
<p />
<div>I will probably spend most of this weekend in my underwear playing more. Looking forward to it :)</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/skyrim-first-impressions">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/skyrim-first-impressions#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 25 Jan 2012 21:15:23 -0800</pubDate>
      <title>How to cure hiccups?</title>
      <link>http://thecodersperspective.posterous.com/how-to-cure-hiccups</link>
      <guid>http://thecodersperspective.posterous.com/how-to-cure-hiccups</guid>
      <description>
        <![CDATA[<p>
	This <a href="http://www.wikihow.com/Cure-Hiccups#Swallow_method">&quot;swallow method&quot; from wikiHow </a>did the trick for me. No more hiccups, thank goodness...<p /><div><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 1em; padding-bottom: 1em; padding-left: 1em; color: rgb(65,65,65); font-family: Arial,Helvetica,sans-serif; font-size: 14px; background-color: rgb(249,247,241);"> <li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;">Breathe in as far as you can.</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;"> Swallow <i style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">without letting any air out</i>.</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;"> Breathe in more, as far as you can. <i style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">Do not let any air out!</i></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;"> Repeat steps two and three as many times as possible. When you feel you can&#39;t swallow anymore, swallow again. You may turn red and make squeaking noises, but keep swallowing and inhaling.</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;"> When you <i style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">absolutely can&#39;t</i> swallow anymore, exhale all the way.</li> <li class="steps_li final_li" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.2em; clear: both;">Your hiccups will be gone!</li> </ol></div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/how-to-cure-hiccups">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/how-to-cure-hiccups#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 18 Jan 2012 22:04:00 -0800</pubDate>
      <title>How using an Agile process combats the common project pitfalls</title>
      <link>http://thecodersperspective.posterous.com/how-using-an-agile-process-combats-the-common</link>
      <guid>http://thecodersperspective.posterous.com/how-using-an-agile-process-combats-the-common</guid>
      <description>
        <![CDATA[<p>
	<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><em>I posted the following on our <a href="http://www.newmedialabs.co.za/agile_development/how-using-an-agile-process-combats-the-common-project-pitfalls">NewMediaLabs</a> website and thought I would share here too...</em></p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Software projects are&nbsp; packed chock-full of Risk. It's important to acknowledge the risks and to mitigate them. How you address the risks depends on which type of "project process" you are following. The two types of project processes that I have experienced are Agile-type and Waterfall-type projects. In this post I list some of the common ways to mitigate well-known risks for both these project types.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">When given a choice we prefer to adopt an Agile approach. We believe that following an Agile approach leads to a far superior final product. We also believe that Agile is much <span style="font-weight: bold;">less</span> risky. So this post is unashamedly biased in favor of Agile.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">First, a brief description of the two types of projects:</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 13.0pt; color: #366092;"><span style="font-weight: bold;">Waterfall-type project:&nbsp; </span></p>
<p style="margin: 0in;"><div class='p_embed p_image_embed'>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2012-01-18/ynqbFynFyjkBgllghyxoHGeeHjFsuujycIilupridyqjbDaccnkdxBjfGyGf/waterfall_600px.PNG.scaled1000.png"><img alt="Waterfall_600px" height="266" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-01-18/ynqbFynFyjkBgllghyxoHGeeHjFsuujycIilupridyqjbDaccnkdxBjfGyGf/waterfall_600px.PNG.scaled500.png" width="500" /></a>
</div>
</p>
<p />
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">A waterfall project typically has a set deadline for set functionality.&nbsp; Many businesses like this type of project because it seems predictable and makes it easy to get a budget approved for the project.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><span style="font-weight: bold;">Process</span>: Plan, Build, Test, Done.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><span style="font-weight: bold;">Problems</span>:</p>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Trying to predict accurately      while software development is very unpredictable.</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">User Requirements      Specifications are usually insufficient and open to interpretation, which      leads to errors.</span></li>
</ul>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Scope Creep is time-consuming      to manage and often "sneaks" in due to unclear specifications.      This puts pressure on the development team to deliver more functionality      in the same amount of time.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 13.0pt; color: #366092;"><span style="font-weight: bold;">Agile-type project: </span></p>
<p style="margin: 0in;"><div class='p_embed p_image_embed'>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2012-01-18/HcjDEkkulezpncdGDBhvppnDpkFArBlpghGbmAkvqfavktuyaClsmpJEugbe/agile_600px.PNG.scaled1000.png"><img alt="Agile_600px" height="339" src="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-01-18/HcjDEkkulezpncdGDBhvppnDpkFArBlpghGbmAkvqfavktuyaClsmpJEugbe/agile_600px.PNG.scaled500.png" width="500" /></a>
</div>
</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">An agile project is typically seen as a recurring monthly expense instead of a big capital expense. Features are delivered frequently&nbsp; (typically every two weeks) and the project carries on for as long as it is delivering useful functionality.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><span style="font-weight: bold;">Process</span>: Plan, Build, Test, *Repeat Repeat Repeat</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><span style="font-weight: bold;">Problems</span>:</p>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Unable to promise specific      features at a specific deadline far in the future. </span></li>
</ul>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Difficult to work with      businesses with a "waterfall" mindset (most big old businesses).</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Difficult to get project      approval when hard-and-fast promises can't be made.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"><span style="font-weight: bold;">Advantages</span>:</p>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Deliver what's useful, not      "what the spec said".</span></li>
</ul>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Deliver useful features      early. </span></li>
</ul>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Detect problems early.</span></li>
</ul>
<ul type="circle" style="margin-left: .75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Embraces change.</span></li>
</ul>
<p style="margin: 0in; margin-left: .75in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 16.0pt; color: #17365d;"><span style="font-weight: bold;">Why Projects Fail</span></p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Projects can be considered failures for many reasons. The most common reasons that I have observed are:</p>
<ol type="1" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: Calibri; font-size: 11pt; font-weight: bold;">
<li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt;">Budget Overruns and Late Delivery</span><span style="font-weight: normal; font-size: 11pt;"> - these      two usually go hand-in-hand.</span></li>
</ol> <ol type="1" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: Calibri; font-size: 11pt; font-weight: bold;">
<li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt;">Incorrect Functionality delivered</span><span style="font-weight: normal; font-size: 11pt;"> - the      client expected one thing and the programmers built something else.</span></li>
</ol> <ol type="1" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: Calibri; font-size: 11pt; font-weight: bold;">
<li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"><span style="font-size: 11pt;">Technical Problems</span><span style="font-weight: normal; font-size: 11pt;"> - for example: the system is too      slow to use, or it doesn't integrate with another critical system in the      software ecosystem.</span></li>
</ol>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Below is a list of ways to combat these three problems in either a Waterfall or Agile project.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 13.0pt; color: #366092;"><span style="font-weight: bold;">Problem 1: Budget Overrun/ Late Delivery</span></p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Waterfall:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Add extra time to mitigate      risk. For example: estimate 13 hours for a 10 hour task. Not optimal.      Expensive. </span></li>
</ul>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Track progress against      milestones to ensure the project is progressing on schedule. (</span><span style="font-style: italic; font-family: Calibri; font-size: 11.0pt;">The problem      with milestones is that they can give a false sense of security. When you      think something is "Done" it might not really be. "It's      done! (except for the styling, or integration with external system      X)")</span></li>
</ul>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Work overtime if needed to      catch-up.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Agile:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Frequent delivery means most      important features get delivered early.</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">If less important features      are late it is not such a big deal. The system is constantly improving and      maturing.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 13.0pt; color: #366092;"><span style="font-weight: bold;">Problem 2: Technical Problems</span></p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Waterfall:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Do lots of prototyping in the      first stage of the project to try and spot technical challenges.</span></li>
</ul>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt; color: red;">If caught late it      may be too late to do anything about it. Major losses</span><span style="font-family: Calibri; font-size: 11.0pt;">.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Agile:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Will be picked up early due      to continuous early delivery. Project can then go a different direction,      or cancel project if absolutely necessary (at least it will be early).</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 13.0pt; color: #366092;"><span style="font-weight: bold;">Problem 3: Wrong Functionality (incorrect assumptions)</span></p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Waterfall:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Write very detailed user      requirements specification. (</span><span style="font-style: italic; font-family: Calibri; font-size: 11.0pt;">The problem with User Requirements      is that they give a false sense of security. Now matter how explicitly      they are written, they are still open to individual interpretation and      interpretation may not be what the author intended.</span><span style="font-family: Calibri; font-size: 11.0pt;">)</span></li>
</ul>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt; color: red;">If caught late it      may be too late to do anything about it. Major losses</span><span style="font-family: Calibri; font-size: 11.0pt;">.</span></li>
</ul>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Agile:</p>
<ul type="disc" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Agile embraces change.      Frequent delivery ensures that the correct functionality is delivered and      any "mistakes" are detected early. The client is continually      evaluating the system and can change direction as required.</span></li>
</ul>
<p>&nbsp;</p>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/how-using-an-agile-process-combats-the-common">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/how-using-an-agile-process-combats-the-common#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="407" width="600" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-01-18/HcjDEkkulezpncdGDBhvppnDpkFArBlpghGbmAkvqfavktuyaClsmpJEugbe/agile_600px.PNG">
        <media:thumbnail height="339" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-01-18/HcjDEkkulezpncdGDBhvppnDpkFArBlpghGbmAkvqfavktuyaClsmpJEugbe/agile_600px.PNG.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="319" width="600" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-01-18/ynqbFynFyjkBgllghyxoHGeeHjFsuujycIilupridyqjbDaccnkdxBjfGyGf/waterfall_600px.PNG">
        <media:thumbnail height="266" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-01-18/ynqbFynFyjkBgllghyxoHGeeHjFsuujycIilupridyqjbDaccnkdxBjfGyGf/waterfall_600px.PNG.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Tue, 10 Jan 2012 04:28:47 -0800</pubDate>
      <title>Why I love my job reason nr 49...</title>
      <link>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-49</link>
      <guid>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-49</guid>
      <description>
        <![CDATA[<p>
	I don&#39;t have to work with <a href="http://ASP.NET">ASP.NET</a> WebForms anymore!<p /><div>That deserves lots of exclamation marks!!!!! !!!! !!!!</div><p /><div><a href="http://ASP.NET">ASP.NET</a> MVC3 is such a pleasure. </div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-49">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-49#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 10 Jan 2012 03:55:01 -0800</pubDate>
      <title>Why I love my job reason number 48...</title>
      <link>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-number-48</link>
      <guid>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-number-48</guid>
      <description>
        <![CDATA[<p>
	The website I am working on only caters for English speakers. What a pleasure!  Localization is such a pain.
	
</p>

<p><a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-number-48">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-number-48#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Sat, 07 Jan 2012 06:57:00 -0800</pubDate>
      <title>Code Snippet: Show a message when a user is using an old browser.</title>
      <link>http://thecodersperspective.posterous.com/code-snippet-show-a-message-when-a-user-is-us</link>
      <guid>http://thecodersperspective.posterous.com/code-snippet-show-a-message-when-a-user-is-us</guid>
      <description>
        <![CDATA[<p>
	<p>For my personal project I would like to show a message to the user if the user is using an old browser. This is mainly because I don't want to spend time testing all the old browsers. I'd rather just tell the user that the site works better on certain browsers and give him the links to download the browser of his choice.</p>
<p><em>(PS: I know this is bad practice. I'm being lazy here...)</em></p>
<p>Thankfully JQuery makes this ridiculously easy. Here is the code (adapted from <a href="http://think2loud.com/147-build-an-unsupported-browser-warning-with-jquery/">Think2Loud</a>)...</p>
<p><div class="data type-html">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
<span rel="#L17" id="L17">17</span>
<span rel="#L18" id="L18">18</span>
<span rel="#L19" id="L19">19</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">&quot;works-best-on hidden&quot;</span><span class="nt">&gt;</span></div><div class="line" id="LC2">&nbsp;&nbsp;&nbsp;&nbsp;This web application works best on a modern browser like <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;https://www.google.com/chrome&quot;</span><span class="nt">&gt;</span>Chrome<span class="nt">&lt;/a&gt;</span>, <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;http://www.mozilla.org/en-US/firefox/new/&quot;</span><span class="nt">&gt;</span>Firefox 4+<span class="nt">&lt;/a&gt;</span> or <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;http://www.microsoft.com/ie9&quot;</span><span class="nt">&gt;</span>Internet Explorer 8+<span class="nt">&lt;/a&gt;</span></div><div class="line" id="LC3"><span class="nt">&lt;/div&gt;</span></div><div class="line" id="LC4"><br /></div><div class="line" id="LC5"><span class="nt">&lt;script </span><span class="na">type=</span><span class="s">&quot;text/javascript&quot;</span><span class="nt">&gt;</span></div><div class="line" id="LC6"><br /></div><div class="line" id="LC7">&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">badBrowser</span><span class="p">())</span> <span class="p">{</span></div><div class="line" id="LC9">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s2">&quot;.works-best-on&quot;</span><span class="p">).</span><span class="nx">show</span><span class="p">(</span><span class="s2">&quot;normal&quot;</span><span class="p">);</span></div><div class="line" id="LC10">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class="line" id="LC11"><br /></div><div class="line" id="LC12">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">function</span> <span class="nx">badBrowser</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">browser</span><span class="p">.</span><span class="nx">msie</span> <span class="o">&amp;&amp;</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">browser</span><span class="p">.</span><span class="nx">version</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">7</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span> <span class="p">}</span></div><div class="line" id="LC14">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">browser</span><span class="p">.</span><span class="nx">mozilla</span> <span class="o">&amp;&amp;</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">browser</span><span class="p">.</span><span class="nx">version</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">3</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span> <span class="p">}</span></div><div class="line" id="LC15">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">false</span><span class="p">;</span></div><div class="line" id="LC16">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class="line" id="LC17">&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class="line" id="LC18">&nbsp;&nbsp;&nbsp;&nbsp;</div><div class="line" id="LC19"><span class="nt">&lt;/script&gt;</span></div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/code-snippet-show-a-message-when-a-user-is-us">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/code-snippet-show-a-message-when-a-user-is-us#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 06 Jan 2012 00:08:47 -0800</pubDate>
      <title>I'm proud to be a software developer</title>
      <link>http://thecodersperspective.posterous.com/im-proud-to-be-a-software-developer</link>
      <guid>http://thecodersperspective.posterous.com/im-proud-to-be-a-software-developer</guid>
      <description>
        <![CDATA[<p>
	It&#39;s easy to get stuck in a rut and disregard the big picture. The big picture is that as a software developer I get to build ridiculously complicated machines with an insane amount of components that interact with one another. And a software machine is so flexible that I get to make changes very easily. The machine can be reconfigured with a couple of keystrokes, tested, broken, fixed, several times a day.<p /><div>This is a pretty amazing job.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/im-proud-to-be-a-software-developer">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/im-proud-to-be-a-software-developer#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 30 Dec 2011 00:21:33 -0800</pubDate>
      <title>Apples Painting</title>
      <link>http://thecodersperspective.posterous.com/apples-painting</link>
      <guid>http://thecodersperspective.posterous.com/apples-painting</guid>
      <description>
        <![CDATA[<p>
	<div class='p_embed p_image_embed'>
<a href="http://getfile2.posterous.com/getfile/files.posterous.com/thecodersperspective/GnCtQr3BVuaIxaNByO4J5JyCE0JapMlUkXRrxom19hpmtHfzGUy673lL6PkQ/apples.jpg"><img alt="Apples" height="368" src="http://getfile3.posterous.com/getfile/files.posterous.com/thecodersperspective/xuFKbKiHFnBb6gvP9xA0c2v5qRhYBe1eiZ4NpaKZND8q7f4XmCB8OZ3W5Viw/apples.jpg.scaled.500.jpg" width="500" /></a>
</div>
<p>Initially I was feeling discouraged about these bloody apples. But in the end I&#39;m very happy with how the painting turned out. This is my first still-life painting and painted from life instead of a photo. Fun :)</p><p /><div>12&quot;x16&quot;</div><div>Oil on Canvas Panel</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/apples-painting">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/apples-painting#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="442" width="600" url="http://getfile2.posterous.com/getfile/files.posterous.com/thecodersperspective/GnCtQr3BVuaIxaNByO4J5JyCE0JapMlUkXRrxom19hpmtHfzGUy673lL6PkQ/apples.jpg">
        <media:thumbnail height="368" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/thecodersperspective/xuFKbKiHFnBb6gvP9xA0c2v5qRhYBe1eiZ4NpaKZND8q7f4XmCB8OZ3W5Viw/apples.jpg.scaled.500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Sun, 18 Dec 2011 23:03:43 -0800</pubDate>
      <title>Suddenly getting HTTP404 on your ASP.NET website?</title>
      <link>http://thecodersperspective.posterous.com/suddenly-getting-http404-on-your-aspnet-websi</link>
      <guid>http://thecodersperspective.posterous.com/suddenly-getting-http404-on-your-aspnet-websi</guid>
      <description>
        <![CDATA[<p>
	Was your website working fine yesterday, but today you get an HTTP404 exception?<p /><div>Check your disk space. Our drive had 0 bytes free space on C. After freeing some space the problem was resolved.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/suddenly-getting-http404-on-your-aspnet-websi">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/suddenly-getting-http404-on-your-aspnet-websi#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 13 Dec 2011 22:32:04 -0800</pubDate>
      <title>Why I love my job (reason nr. 37)</title>
      <link>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-37</link>
      <guid>http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-37</guid>
      <description>
        <![CDATA[<p>
	Our sprint plan doesn&#39;t change numerous times throughout the sprint. We can focus for two weeks and deliver what has been planned.<p /><div>I Love it. I don&#39;t miss the opposite situation. Been there, done that.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-37">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/why-i-love-my-job-reason-nr-37#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 30 Nov 2011 23:59:19 -0800</pubDate>
      <title>How to give an IIS 7 app pool user access to SQL Server</title>
      <link>http://thecodersperspective.posterous.com/how-to-give-an-iis-7-app-pool-user-access-to</link>
      <guid>http://thecodersperspective.posterous.com/how-to-give-an-iis-7-app-pool-user-access-to</guid>
      <description>
        <![CDATA[<p>
	When creating a website in IIS7.5 an App Pool gets created with the same name as the website. This app pool usually runs with the ApplicationPoolIdentity (instead of System or a specific user).<p /><div>Trouble is, if you try to give the ApplicationPoolIdentity account access to SQL server, SQL can&#39;t find the account. This is because it&#39;s not a normal account.</div> <p /><div>In order to give your app pool access to SQL server, you need to give access to the following account:</div><div><ul><li>IIS AppPool\YourAppPoolName</li></ul>Where &quot;YourAppPoolName&quot; is the name of your AppPool. The &quot;IIS AppPool&quot; (domain?) is the important bit that I always forget.</div> <p /><div>Hope this helps some poor souls with the same problem.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/how-to-give-an-iis-7-app-pool-user-access-to">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/how-to-give-an-iis-7-app-pool-user-access-to#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 30 Nov 2011 23:52:06 -0800</pubDate>
      <title>Getting past the IIS 403.14 error</title>
      <link>http://thecodersperspective.posterous.com/getting-past-the-iis-40314-error</link>
      <guid>http://thecodersperspective.posterous.com/getting-past-the-iis-40314-error</guid>
      <description>
        <![CDATA[<p>
	This morning my <a href="http://ASP.NET">ASP.NET</a> MVC website wouldn&#39;t run on IIS anymore. It worked fine through Visual Studio, but in IIS I just got a <b>HTTP 403.14 </b>error.<p /><div>Turned out the following setting in web.config was the problem:</div> <p /><div>&lt;modules runAllManagedModulesForAllRequests=&quot;false&quot;&gt;</div><p /><div>It had to be set to true, not false.</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/getting-past-the-iis-40314-error">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/getting-past-the-iis-40314-error#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 27 Oct 2011 09:06:03 -0700</pubDate>
      <title>Wireless Network Tip</title>
      <link>http://thecodersperspective.posterous.com/wireless-network-tip</link>
      <guid>http://thecodersperspective.posterous.com/wireless-network-tip</guid>
      <description>
        <![CDATA[<p>
	Excellent Signal strength, but unable to connect to your wireless connection?  Could be another wireless source interfering.<p /><div>Try changing the channel to 1, 6 or 11. Apparently mobile phones and cordless phones don&#39;t interfere on those channels. That&#39;s what I read anyway. </div> <p /><div>Works for me!</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/wireless-network-tip">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/wireless-network-tip#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 07 Oct 2011 01:50:51 -0700</pubDate>
      <title>How to secure your hosted sever's Remote Desktop Access</title>
      <link>http://thecodersperspective.posterous.com/how-to-secure-your-hosted-severs-remote-deskt</link>
      <guid>http://thecodersperspective.posterous.com/how-to-secure-your-hosted-severs-remote-deskt</guid>
      <description>
        <![CDATA[<p>
	Here are some things I did recently to ensure a remote hosted server is more resilient to dictionary attacks:<ul><li>In &quot;Remote Configuration&quot; I specified that clients all need to use &quot;Network Level Authentication&quot;.</li> <li>I only allowed Remote Desktop Connections for a single account (meaning only one account can be compromised)</li><li>In &quot;Local Security Policy&quot; I specified that the account should be locked for a few minutes on 3 failed logon attempts.</li> <li>I made the password much longer and more complex.</li></ul><div>Feel free to comment if I missed something obvious!</div>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/how-to-secure-your-hosted-severs-remote-deskt">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/how-to-secure-your-hosted-severs-remote-deskt#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 12 Aug 2011 02:24:00 -0700</pubDate>
      <title>Thanks for the info, iTextSharp</title>
      <link>http://thecodersperspective.posterous.com/thanks-for-the-info-itextsharp</link>
      <guid>http://thecodersperspective.posterous.com/thanks-for-the-info-itextsharp</guid>
      <description>
        <![CDATA[<p>
	<p>I'm about to write some HTML-to-PDF conversion code for a website that I am working on. It sounds like everyone uses the iTextSharp library.&nbsp;</p>
<p>I had to laugh when I loaded the <a href="http://itextsharp.com/">iTextSharp.com</a> website and only got the following response.</p>
<p>&nbsp;</p>
<div class="CodeRay">
  <div class="code"><pre>&lt;html&gt;
        &lt;head&gt;
        &lt;title&gt;&lt;/title&gt;
        &lt;/head&gt;
        &lt;body&gt;
        &lt;/body&gt;
        &lt;/html&gt;</pre></div>
</div>

<p><span>Thanks for the info! At least the "nothing" is formatted properly.</span></p>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/thanks-for-the-info-itextsharp">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/thanks-for-the-info-itextsharp#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 10 Aug 2011 03:28:00 -0700</pubDate>
      <title>Facebook going down on 5 Nov?</title>
      <link>http://thecodersperspective.posterous.com/facebook-going-down-on-5-nov</link>
      <guid>http://thecodersperspective.posterous.com/facebook-going-down-on-5-nov</guid>
      <description>
        <![CDATA[<p>
	<p>Apparently the hacker group "Anonymous" will be <a href="http://news.cnet.com/8301-17852_3-20090328-71/anonymous-facebooks-going-down-november-5/?ttag=fbw">taking down facebook on 5 November</a>.&nbsp;</p>
<p>Thought I'd post what my friend, Danie, has to say on the subject:</p>
<blockquote>
<p>&nbsp;<span style="border-collapse: collapse; font-family: arial, sans-serif;">Anonymous uses distributed&nbsp; denial of service attacks as their main weapon. Also its gives a measure of control so that if a target is selected to be effective it would need to be supported by the greater majority of Anonymous. As there in lies the strength and appeal of the group. Everyone has a voice and everyone has a free will to either take part in an attack or not. There is no one person acting as the leader of this group as its a hive mind. Thus its impossible to fight and almost impossible to stop even harder to prosecute all of them.</span></p>
<p><span style="border-collapse: collapse; font-family: arial, sans-serif;">Given the average age of Anonymous i would say that the facebook attack will not hold big appeal to the majority. Thus rendering the DDos attack ineffective. Yes Anonymous does have splinter groups that does not use these kinds of attacks as they are the "none script kiddie" hackers that does the intrusions into the target network infrastructures. But the notification of the attack came from Anonymous and not one of these splinter groups like Lulsec. If it did facebook might have some trouble.</span></p>
<p><span style="border-collapse: collapse; font-family: arial, sans-serif;">PS they do refer to "Antisec" in one of their statements. As that is the elite group of Anonymous. If they get involved it might be game over for facebook on that day.&nbsp;</span></p>
<p><span style="border-collapse: collapse; font-family: arial, sans-serif;">PPS.... Anonymous always gives notice about their attacks in advance as transparency gives the "target" time to appeal to Anonymous itself why this attack should not happen. Even other Anon's can plea a case for the target.</span></p>
<p><span style="border-collapse: collapse; font-family: arial, sans-serif;">PPPS... FB is running a massive number of servers all over the World currently. To shut FB down you will need to target not just a single server. But multiple servers in multiple countries in multiple time zones. This will require 24 hour attacks synchronized with peak traffic times of FB. Just take an example. South Africa has its own FB cache server locally were all feeds are loaded onto locally then there are multiple main servers hosted in the USA in different states and Data centers also running on ipv6 that makes DoS attacks very hard to pull off. Its a massive task with their normal DDoS attack.</span></p>
</blockquote>
<p><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Food for thought. Let's see if anything happens on 5 Nov. I'm not holding my breath.</span></span></p>

	
</p>

<p><a href="http://thecodersperspective.posterous.com/facebook-going-down-on-5-nov">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/facebook-going-down-on-5-nov#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 02 Aug 2011 00:33:00 -0700</pubDate>
      <title>How to handle Deadlines</title>
      <link>http://thecodersperspective.posterous.com/how-to-handle-deadlines</link>
      <guid>http://thecodersperspective.posterous.com/how-to-handle-deadlines</guid>
      <description>
        <![CDATA[<p>
	<p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Deadlines in the programming world are tricky. They are a necessary evil unfortunately, so one needs to learn how to deal with them.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">I think it's important to deliver in time and make your deadlines, but I also think it's near impossible(!). The biggest problem is that estimates are so unreliable. The only way to get a perfectly reliable estimate on how long a bit of programming is going to take is to go and physically write the code - only then will you comprehend all the "devil in the details". But then the "estimate" is no longer an estimate (it's like saying Africa is a 1:1 scale map of Africa).</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Another problem is that requirements are often misunderstood and change frequently. So even if you did estimate 100% accurately, you probably estimated the wrong thing. Crap.</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">To cope with deadlines,<span style="">&nbsp; </span>you have four options:</p>
<ol type="1" style="direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in; font-family: Calibri; font-size: 11.0pt; font-weight: normal; font-style: normal;">
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt; font-weight: bold; font-style: normal;">More      accurate estimates</span><span style="font-family: Calibri; font-size: 11.0pt; font-weight: normal; font-style: normal;"> means you're more likely to take on just enough work and not too much.      You'll never get to the 100% accuracy mark, but doing </span><span style="font-family: Calibri; font-size: 11.0pt; font-weight: bold; font-style: normal;">more      in-depth planning</span><span style="font-family: Calibri; font-size: 11.0pt; font-weight: normal; font-style: normal;"> and design does help get you closer to it.</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-weight: bold; font-family: Calibri; font-size: 11.0pt;">Sacrifice      code quality</span><span style="font-family: Calibri; font-size: 11.0pt;"> -      i.e. no unit testing, copy-paste code etc. This may help in the short-term      but will probably come back to bite you (especially when requirements      change and you have to change your code). So I never recommend this      option.</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-weight: bold; font-family: Calibri; font-size: 11.0pt;">Work more      hours</span><span style="font-family: Calibri; font-size: 11.0pt;"> - either      cut down on distractions and interruptions so you can work more hours      during the normal working day (this is good), or work overtime after-hours      (this is bad).</span></li>
<li style="margin-top: 0; margin-bottom: 0; vertical-align: middle;"><span style="font-weight: bold; font-family: Calibri; font-size: 11.0pt;">Cut features</span><span style="font-family: Calibri; font-size: 11.0pt;"> - release something, even if      it doesn't have all the features required initially.</span></li>
</ol>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">&nbsp;</p>
<p style="margin: 0in; font-family: Calibri; font-size: 11.0pt;">Personally I try to cut features. Where possible I try to be more productive during the day, but there's only so much you can do. I try to never work overtime. And I try to never sacrifice quality.</p>
</p>
	
</p>

<p><a href="http://thecodersperspective.posterous.com/how-to-handle-deadlines">Permalink</a> 

	| <a href="http://thecodersperspective.posterous.com/how-to-handle-deadlines#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1294433/methumb.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/36uaCnI5Do5P</posterous:profileUrl>
        <posterous:firstName>willem</posterous:firstName>
        <posterous:lastName>odendaal</posterous:lastName>
        <posterous:nickName>theCodersPerspective</posterous:nickName>
        <posterous:displayName>willem odendaal</posterous:displayName>
      </posterous:author>
    </item>
  </channel>
</rss>

