<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ScottRu &#187; protip</title>
	<atom:link href="http://scottru.com/category/protip/feed/" rel="self" type="application/rss+xml" />
	<link>http://scottru.com</link>
	<description></description>
	<lastBuildDate>Fri, 23 Jul 2010 19:49:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Programming: write it down (again)</title>
		<link>http://scottru.com/2008/09/30/programming-write-it-down-again/</link>
		<comments>http://scottru.com/2008/09/30/programming-write-it-down-again/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 04:36:10 +0000</pubDate>
		<dc:creator>scottru</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[protip]]></category>

		<guid isPermaLink="false">http://scottru.com/?p=21</guid>
		<description><![CDATA[Last day of last month, I talked about the importance of writing down your questions when you&#8217;re programming. Last day of this month, similar post &#8211; now, it&#8217;s about writing down your algorithms when you&#8217;re programming. Since college (when I would &#8220;program&#8221; by the light of a desk lamp at the top of a bunk [...]]]></description>
			<content:encoded><![CDATA[<p>Last day of last month, I talked about the importance of <a href="http://scottru.com/2008/08/31/programming-when-youre-stuck-write-it-down/">writing down your questions when you&#8217;re programming</a>. Last day of this month, similar post &#8211; now, it&#8217;s about writing down your <strong>algorithms </strong>when you&#8217;re programming.</p>
<p>Since college (when I would &#8220;program&#8221; by the light of a desk lamp at the top of a bunk bed &#8211; pre-laptop), whenever I have a reasonably complex piece of logic to work through, I always start with a piece of paper and pencil, and I sketch out the entire algorithm in pseudo-pseudocode &#8211; basic structures, algorithms, control flow. (It&#8217;s like being at the board for an interview, but nobody&#8217;s watching.)</p>
<p>Why do this? In order of importance:</p>
<ul>
<li><strong>You can focus on the problem. </strong>When you&#8217;re writing real code, you&#8217;re focusing on a lot of things &#8211; the logic, but also the syntax and markup, the object-method structures, the tabs, the comments, the format. Each of those things takes some thought, and each moment causes a mental task switch from solving the real problem. (Maybe you&#8217;re both so talented and so experienced in a particular language and IDE that none of those things actually require any thought &#8211; you&#8217;re as fluent as you are in your native tongue. But I&#8217;m not, and you&#8217;re probably not either.)</li>
<li><strong>It&#8217;s much faster. </strong>You might type faster than you write when taking notes, but nothing&#8217;s faster than writing fake code on a piece of paper, drawing arrows and braces to mark sections, using carets to insert content, etc. You aren&#8217;t worrying about any of the things above: you will find the problems in your thinking much, much more quickly.</li>
<li><strong>You can do it anywhere. </strong>On the bus, by the bed lamp, when you&#8217;re pretending to make art with your three-year-old. You can think about the algorithm in between things and record your notes, rather than waiting for the moment you&#8217;re sitting down. Paper &amp; pen are still more accessible and portable than the MacBook Pro.</li>
</ul>
<p>Highly recommended approach. Let me know if this or similar things work for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://scottru.com/2008/09/30/programming-write-it-down-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programming: When you&#8217;re stuck, write it down</title>
		<link>http://scottru.com/2008/08/31/programming-when-youre-stuck-write-it-down/</link>
		<comments>http://scottru.com/2008/08/31/programming-when-youre-stuck-write-it-down/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 16:00:30 +0000</pubDate>
		<dc:creator>scottru</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[protip]]></category>

		<guid isPermaLink="false">http://scottru.com/?p=17</guid>
		<description><![CDATA[Hey. Long time, no blog. Been busy. Thought I&#8217;d share a tip that I&#8217;ve used for many years when programming (or learning almost any new thing) and I&#8217;ve been using recently: when you&#8217;re stuck, write it down. Say you&#8217;re trying to figure out how to do something in [pick a framework], and you&#8217;ve Googled the [...]]]></description>
			<content:encoded><![CDATA[<p>Hey. Long time, no blog. <a href="http://blog.seattlepi.nwsource.com/venture/archives/144807.asp">Been busy</a>.</p>
<p>Thought I&#8217;d share a tip that I&#8217;ve used for many years when programming (or learning almost any new thing) and I&#8217;ve been using recently: <strong>when you&#8217;re stuck, write it down.</strong></p>
<p><strong></strong>Say you&#8217;re trying to figure out how to do something in [pick a framework], and you&#8217;ve Googled the heck out of the most-likely search terms, and nothing&#8217;s coming up.</p>
<p>Then write down your question as if you were going to ask a teacher/email it to a friend/post to a Google group/etc. Write down all the details: explain the thing you&#8217;re trying to do, the problem you have, and the number of things you&#8217;ve tried. Be as clear as you can, but don&#8217;t worry about being concise.</p>
<p>Literally every single time I&#8217;ve ever done this &#8211; and my rule-of-thumb is to do it after ~1.5 days worth of trying to figure it out myself &#8211; I find a number of new avenues to try, and almost always solve the problem on my own.</p>
<p>Writing it down forces you to take the jumbled thoughts in your head (they probably weren&#8217;t jumbled when you started, but you&#8217;ve changed paths so many times now) and turn them into a narrative. The process makes visible paths that your random walk opened up but that you didn&#8217;t see.</p>
<p>(This has been a procrastination for completing a writeup of my own.)</p>
]]></content:encoded>
			<wfw:commentRss>http://scottru.com/2008/08/31/programming-when-youre-stuck-write-it-down/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
