<?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"
	>
<channel>
	<title>Comments on: Easy Programming</title>
	<atom:link href="http://www.red-sweater.com/blog/125/easy-programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.red-sweater.com/blog/125/easy-programming</link>
	<description>Mac &#38; Technology Writings by Daniel Jalkut</description>
	<pubDate>Sun, 12 Oct 2008 02:49:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Blacktiger</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-5955</link>
		<dc:creator>Blacktiger</dc:creator>
		<pubDate>Sat, 27 May 2006 01:07:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-5955</guid>
		<description>I was reading the Art of Programming Vol 1 (by Donald Knuth) the other day and I noticed that he suggested writing down every bug you ever encounter. Once you do that, then you can figure out what you repeat often and change your approach to avoid doing that ever again.</description>
		<content:encoded><![CDATA[<p>I was reading the Art of Programming Vol 1 (by Donald Knuth) the other day and I noticed that he suggested writing down every bug you ever encounter. Once you do that, then you can figure out what you repeat often and change your approach to avoid doing that ever again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2006-04-30 &#124; Edward O&#8217;Connor</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-3457</link>
		<dc:creator>links for 2006-04-30 &#124; Edward O&#8217;Connor</dc:creator>
		<pubDate>Sun, 30 Apr 2006 07:18:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-3457</guid>
		<description>[...] Red Sweater Blog - Easy Programming (tags: programming) [...]</description>
		<content:encoded><![CDATA[<p>[...] Red Sweater Blog - Easy Programming (tags: programming) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Red Sweater Blog - What&#8217;s in a Name?</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-3377</link>
		<dc:creator>Red Sweater Blog - What&#8217;s in a Name?</dc:creator>
		<pubDate>Sat, 29 Apr 2006 17:00:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-3377</guid>
		<description>[...] I recently wrote about Easy Programming, my pseudo-methodology for &#8220;keeping going&#8221; in the face of difficult or tedious tasks. Since then, I&#8217;ve observed an aspect of my workflow that, while seemingly among the easiest of tasks, can be the most limiting to my productivity. What is this devastating conundrum? The challenge of naming code. [...]</description>
		<content:encoded><![CDATA[<p>[...] I recently wrote about Easy Programming, my pseudo-methodology for &#8220;keeping going&#8221; in the face of difficult or tedious tasks. Since then, I&#8217;ve observed an aspect of my workflow that, while seemingly among the easiest of tasks, can be the most limiting to my productivity. What is this devastating conundrum? The challenge of naming code. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ebob</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2958</link>
		<dc:creator>ebob</dc:creator>
		<pubDate>Tue, 25 Apr 2006 18:07:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2958</guid>
		<description>Like macFanDave, I avoid shoelaces in the first place.  Kind of like I went away from C because of pointers.  Objective C mitigates this somewhat, kind of like using &lt;a href="http://www.curlylaces.com/shoelaces.html" rel="nofollow"&gt;curly laces&lt;/a&gt;.

A wise project leader at DEC once told me there is a vast difference between "easy" and "straightforward".  Knowing in advance how you could solve a problem does not make it easy to implement.

It has taken me much longer to learn to go for easy, and yet it is a mark of maturity to know how to do it right the first time so you don't have to rip up designs (or "designs") constantly to knock out your next feature.  That's not re-debugging, that's another example of knowing a lot of lacing knots.

(See you at the next Boston Xcoders/CocoaHeads!)</description>
		<content:encoded><![CDATA[<p>Like macFanDave, I avoid shoelaces in the first place.  Kind of like I went away from C because of pointers.  Objective C mitigates this somewhat, kind of like using <a href="http://www.curlylaces.com/shoelaces.html" rel="nofollow">curly laces</a>.</p>
<p>A wise project leader at DEC once told me there is a vast difference between &#8220;easy&#8221; and &#8220;straightforward&#8221;.  Knowing in advance how you could solve a problem does not make it easy to implement.</p>
<p>It has taken me much longer to learn to go for easy, and yet it is a mark of maturity to know how to do it right the first time so you don&#8217;t have to rip up designs (or &#8220;designs&#8221;) constantly to knock out your next feature.  That&#8217;s not re-debugging, that&#8217;s another example of knowing a lot of lacing knots.</p>
<p>(See you at the next Boston Xcoders/CocoaHeads!)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: macFanDave</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2742</link>
		<dc:creator>macFanDave</dc:creator>
		<pubDate>Sat, 22 Apr 2006 14:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2742</guid>
		<description>My solution to the shoelace problem:

Velcro-fastened shoes!  Although I am not sure I'd trust them for a competitive tennis match, but they are superior to lace-up shoes when I am in programmer mode.  They don't come unvelced all day! (I'm trying to get the word "velc" into the OED with the defintion being "to secure by joining the hook tape to the loop tape.")

One thing that fascinates me is the mirage of what "easy" is.  Sometimes I take on a task that looks easy, but it turns out to be much harder to do.  This is often the fault of the API.  For example, there is a single C function that is perfect for my current task, but it is deprecated and using it makes your log window (that may easily be visible to users)  fill up with warnings.  The vendor didn't replace the function with a more modern equivalent -- they just point you to a whole bunch of more specialized functions that would go into a giant switch statement.  What was once an easy task has become a tediously long one!

On the other hand, sometimes I look at a hard task and, for whatever reason, I can solve it quickly and easily.  Those cases are rarer than the others, but they do help salvage your ego from the beating you have been taking for struggling with "easy" problems.  I had thought that experience would eventually help you learn to recognize the difference between "easy" and "hard" problems from the start, but you're still going to be wrong many times!</description>
		<content:encoded><![CDATA[<p>My solution to the shoelace problem:</p>
<p>Velcro-fastened shoes!  Although I am not sure I&#8217;d trust them for a competitive tennis match, but they are superior to lace-up shoes when I am in programmer mode.  They don&#8217;t come unvelced all day! (I&#8217;m trying to get the word &#8220;velc&#8221; into the OED with the defintion being &#8220;to secure by joining the hook tape to the loop tape.&#8221;)</p>
<p>One thing that fascinates me is the mirage of what &#8220;easy&#8221; is.  Sometimes I take on a task that looks easy, but it turns out to be much harder to do.  This is often the fault of the API.  For example, there is a single C function that is perfect for my current task, but it is deprecated and using it makes your log window (that may easily be visible to users)  fill up with warnings.  The vendor didn&#8217;t replace the function with a more modern equivalent &#8212; they just point you to a whole bunch of more specialized functions that would go into a giant switch statement.  What was once an easy task has become a tediously long one!</p>
<p>On the other hand, sometimes I look at a hard task and, for whatever reason, I can solve it quickly and easily.  Those cases are rarer than the others, but they do help salvage your ego from the beating you have been taking for struggling with &#8220;easy&#8221; problems.  I had thought that experience would eventually help you learn to recognize the difference between &#8220;easy&#8221; and &#8220;hard&#8221; problems from the start, but you&#8217;re still going to be wrong many times!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Stevenson</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2694</link>
		<dc:creator>Scott Stevenson</dc:creator>
		<pubDate>Fri, 21 Apr 2006 18:47:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2694</guid>
		<description>I have a gut feeling that a lot of the delayed timelines and feature creeps ultimately come down to a drive to do something you haven't done before. It's like asking DaVinci to paint by numbers or Santana to play four chord songs. Yeah, they can do it, but they're bored.

Given the choice between writing menial, mechanical code or designing a new API or feature, a lot of people will gravitate towards the latter because you actually get to &lt;i&gt;do&lt;/i&gt; something. I'm not sure what the solution to this is (since somebody has to take out the trash), but Google might be onto something with using the 20% side project as a creative outlet.

I think this is also what I like about Core Data and Bindings.</description>
		<content:encoded><![CDATA[<p>I have a gut feeling that a lot of the delayed timelines and feature creeps ultimately come down to a drive to do something you haven&#8217;t done before. It&#8217;s like asking DaVinci to paint by numbers or Santana to play four chord songs. Yeah, they can do it, but they&#8217;re bored.</p>
<p>Given the choice between writing menial, mechanical code or designing a new API or feature, a lot of people will gravitate towards the latter because you actually get to <i>do</i> something. I&#8217;m not sure what the solution to this is (since somebody has to take out the trash), but Google might be onto something with using the 20% side project as a creative outlet.</p>
<p>I think this is also what I like about Core Data and Bindings.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: keith</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2688</link>
		<dc:creator>keith</dc:creator>
		<pubDate>Fri, 21 Apr 2006 17:26:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2688</guid>
		<description>Excellent article!  Your simple and honest view of Unit Testing is the most practical advice I've read on the subject.  It's amazing how easy it is to become overwhelmed by "projects" and forget that a "project" is just a series of simple "actions" (or tasks.)  Thanks for the reminder!

Your writing style is superb and tackles complex subjects, like computer programming, with insightful analogies and medaphors.  I always feel that I've learned something and the time spent has not been wasted.  Your posts are detailed yet pertinent, and at the same time, enjoyable.

Keep 'em coming!</description>
		<content:encoded><![CDATA[<p>Excellent article!  Your simple and honest view of Unit Testing is the most practical advice I&#8217;ve read on the subject.  It&#8217;s amazing how easy it is to become overwhelmed by &#8220;projects&#8221; and forget that a &#8220;project&#8221; is just a series of simple &#8220;actions&#8221; (or tasks.)  Thanks for the reminder!</p>
<p>Your writing style is superb and tackles complex subjects, like computer programming, with insightful analogies and medaphors.  I always feel that I&#8217;ve learned something and the time spent has not been wasted.  Your posts are detailed yet pertinent, and at the same time, enjoyable.</p>
<p>Keep &#8216;em coming!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Engler</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2668</link>
		<dc:creator>John Engler</dc:creator>
		<pubDate>Fri, 21 Apr 2006 03:06:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2668</guid>
		<description>I'm a salesguy.  When people ask me if something is easy, I tell them "sure, but it's not trivial"... meaning... it's definitely possible and doable, but it takes some time and shouldn't be done without some consideration.  My smart clients get it and appreciate my honesty.  My not so smart clients don't get it, but they buy anyways, cause I said it was easy... and I get to remind them later that "I said it wasn't trivial".  Try that response sometime.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a salesguy.  When people ask me if something is easy, I tell them &#8220;sure, but it&#8217;s not trivial&#8221;&#8230; meaning&#8230; it&#8217;s definitely possible and doable, but it takes some time and shouldn&#8217;t be done without some consideration.  My smart clients get it and appreciate my honesty.  My not so smart clients don&#8217;t get it, but they buy anyways, cause I said it was easy&#8230; and I get to remind them later that &#8220;I said it wasn&#8217;t trivial&#8221;.  Try that response sometime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2667</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 21 Apr 2006 02:12:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2667</guid>
		<description>&lt;a href="http://www.fieggen.com/shoelace/secureknot.htm" rel="nofollow"&gt;Ian's secure knot&lt;/a&gt; forever!</description>
		<content:encoded><![CDATA[<p><a href="http://www.fieggen.com/shoelace/secureknot.htm" rel="nofollow">Ian&#8217;s secure knot</a> forever!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marc</title>
		<link>http://www.red-sweater.com/blog/125/easy-programming#comment-2665</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Fri, 21 Apr 2006 01:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.red-sweater.com/blog/125/easy-programming#comment-2665</guid>
		<description>Good stuff. I find breaking down hard tasks into lots of easy tasks to be critical for unsticking things that I am lacking motivation to do.</description>
		<content:encoded><![CDATA[<p>Good stuff. I find breaking down hard tasks into lots of easy tasks to be critical for unsticking things that I am lacking motivation to do.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.278 seconds -->
