<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jamescat</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jamescat"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/Jamescat"/>
		<updated>2026-04-20T01:55:56Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22172</id>
		<title>844: Good Code</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22172"/>
				<updated>2012-12-06T09:32:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jamescat: /* Explanation changed to note that there may be up to 3 loops in the flowchart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 844&lt;br /&gt;
| date      = 2011-01-07&lt;br /&gt;
| title     = Good Code&lt;br /&gt;
| image     = good_code.png&lt;br /&gt;
| titletext = You can either hang out in the Android Loop or the HURD loop.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
The comic references the common meme of programmers that one can't actually write good code. Either the code is done quickly with shoddy &amp;quot;code style&amp;quot;, weak logical structure, or any number of other kludges and hacks (which causes maintenance of the code to be a programmer's nightmare)... or else it is written well and beautifully structured, but can never be completed before changes in the situation cause the original code design to be insufficient for one or multiple reasons.&lt;br /&gt;
&lt;br /&gt;
Either situation eventually leads to the need to completely start from scratch, designing and writing the program's code all over again. Of course, the writing of this new program is also locked in the perpetual cycle of choosing between ugly/bad code that works marginally well, or good/pretty code that never gets completed before being obsolete.&lt;br /&gt;
&lt;br /&gt;
Additionally, the humorous point is being further emphasized for the primary target audience, programmers, by using an [http://en.wikipedia.org/wiki/Infinite_loop infinite loop] (or more precisely, 2 possible loops and 1 forced loop) in the flowchart itself.&lt;br /&gt;
&lt;br /&gt;
Also, of particular note, is the fact that Randall (the author) drives home the point of the inescapability of the infinite loop(s) by the use of the additional, disconnected, and logically unreachable portion of the flowchart. This disconnect points out that the only way to actually get to &amp;quot;Good Code&amp;quot; using the flow chart would be to follow a path of actions -- which does '''not''' start at the proscribed place -- for which there is only an unknown ''(and possibly unknowable)'' starting action (&amp;quot;?&amp;quot;) which no one has ever discovered previously.&lt;br /&gt;
&lt;br /&gt;
The image title text, &amp;quot;You can either hang out in the Android Loop or the HURD loop,&amp;quot; makes a further dig at each community, claiming that Android developers are always choosing fast, ugly code, while HURD developers are always choosing to &amp;quot;do things right&amp;quot; but can therefore never finish their project at all. (The [http://www.gnu.org/software/hurd/ GNU Hurd project], which aims to create the kernel (i.e. lower-level portions) of the &amp;quot;GNU operating system,&amp;quot; while building on a number of fundamentally &amp;quot;beautiful&amp;quot; concepts, has nonetheless been in development for many years with little forward motion towards actual usability by anyone except the developers themselves.)&lt;br /&gt;
&lt;br /&gt;
Finally, the transcript of this comic is itself somewhat humorous (an additional [http://en.wikipedia.org/wiki/In-joke inside joke], if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called &amp;quot;[http://en.wikipedia.org/wiki/Goto goto loops].&amp;quot; -- Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jamescat|Jamescat]] ([[User talk:Jamescat|talk]]) 09:28, 6 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&amp;lt;!-- The transcript can be found in a hidden &amp;lt;div&amp;gt; element on the xkcd comic's html source, with id &amp;quot;transcript&amp;quot;.&lt;br /&gt;
  -- Tip: Use colons (:) in the beginning of lines to preserve the original line breaks. &lt;br /&gt;
  -- Any actions or descriptive lines in [[double brackets]] should be reduced to [single brackets] to avoid wikilinking&lt;br /&gt;
  -- Do not include the title text again here --&amp;gt;&lt;br /&gt;
: ((The comic is a flowchart.  In order to explain this in text, follow the line numbers.  Options follow on new lines without numbers.))&lt;br /&gt;
: How to write good code.&lt;br /&gt;
: ((10.)) Start Project. ((Go to 20.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((20.)) Do things right or do them fast? &lt;br /&gt;
: Fast ((Go to 30.))  &lt;br /&gt;
: Right ((Go to 40.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((30.)) Code fast. ((Go to 35.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((35.)) Does it work yet? &lt;br /&gt;
: No ((Go to 30.))  &lt;br /&gt;
: Almost, but it&amp;amp;#39;s become a mass of kludges and spaghetti code. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((40.)) Code well. ((Go to 45.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((45.)) Are you done yet?&lt;br /&gt;
: No. ((Go to 40.))&lt;br /&gt;
: No, and the requirements have changed. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((50.)) Throw it all out and start over. ((Go to 10.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((60.)) ? ((Go to 70.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((70.)) Good code.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}} &lt;br /&gt;
&amp;lt;!-- Include any categories below this line--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jamescat</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22171</id>
		<title>844: Good Code</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22171"/>
				<updated>2012-12-06T09:29:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jamescat: Removing redundant explanation of &amp;quot;infinite loop&amp;quot; that was written before linking to Wikipedia for the explanation. Also adding my signature to Explanation section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 844&lt;br /&gt;
| date      = 2011-01-07&lt;br /&gt;
| title     = Good Code&lt;br /&gt;
| image     = good_code.png&lt;br /&gt;
| titletext = You can either hang out in the Android Loop or the HURD loop.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
The comic references the common meme of programmers that one can't actually write good code. Either the code is done quickly with shoddy &amp;quot;code style&amp;quot;, weak logical structure, or any number of other kludges and hacks (which causes maintenance of the code to be a programmer's nightmare)... or else it is written well and beautifully structured, but can never be completed before changes in the situation cause the original code design to be insufficient for one or multiple reasons.&lt;br /&gt;
&lt;br /&gt;
Either situation eventually leads to the need to completely start from scratch, designing and writing the program's code all over again. Of course, the writing of this new program is also locked in the perpetual cycle of choosing between ugly/bad code that works marginally well, or good/pretty code that never gets completed before being obsolete.&lt;br /&gt;
&lt;br /&gt;
Additionally, the humorous point is being further emphasized for the primary target audience, programmers, by using an [http://en.wikipedia.org/wiki/Infinite_loop infinite loop] in the flowchart itself.&lt;br /&gt;
&lt;br /&gt;
Also, of particular note, is the fact that Randall (the author) drives home the point of the inescapability of the infinite loop(s) by the use of the additional, disconnected, and logically unreachable portion of the flowchart. This disconnect points out that the only way to actually get to &amp;quot;Good Code&amp;quot; using the flow chart would be to follow a path of actions -- which does '''not''' start at the proscribed place -- for which there is only an unknown ''(and possibly unknowable)'' starting action (&amp;quot;?&amp;quot;) which no one has ever discovered previously.&lt;br /&gt;
&lt;br /&gt;
The image title text, &amp;quot;You can either hang out in the Android Loop or the HURD loop,&amp;quot; makes a further dig at each community, claiming that Android developers are always choosing fast, ugly code, while HURD developers are always choosing to &amp;quot;do things right&amp;quot; but can therefore never finish their project at all. (The [http://www.gnu.org/software/hurd/ GNU Hurd project], which aims to create the kernel (i.e. lower-level portions) of the &amp;quot;GNU operating system,&amp;quot; while building on a number of fundamentally &amp;quot;beautiful&amp;quot; concepts, has nonetheless been in development for many years with little forward motion towards actual usability by anyone except the developers themselves.)&lt;br /&gt;
&lt;br /&gt;
Finally, the transcript of this comic is itself somewhat humorous (an additional [http://en.wikipedia.org/wiki/In-joke inside joke], if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called &amp;quot;[http://en.wikipedia.org/wiki/Goto goto loops].&amp;quot; -- Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jamescat|Jamescat]] ([[User talk:Jamescat|talk]]) 09:28, 6 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&amp;lt;!-- The transcript can be found in a hidden &amp;lt;div&amp;gt; element on the xkcd comic's html source, with id &amp;quot;transcript&amp;quot;.&lt;br /&gt;
  -- Tip: Use colons (:) in the beginning of lines to preserve the original line breaks. &lt;br /&gt;
  -- Any actions or descriptive lines in [[double brackets]] should be reduced to [single brackets] to avoid wikilinking&lt;br /&gt;
  -- Do not include the title text again here --&amp;gt;&lt;br /&gt;
: ((The comic is a flowchart.  In order to explain this in text, follow the line numbers.  Options follow on new lines without numbers.))&lt;br /&gt;
: How to write good code.&lt;br /&gt;
: ((10.)) Start Project. ((Go to 20.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((20.)) Do things right or do them fast? &lt;br /&gt;
: Fast ((Go to 30.))  &lt;br /&gt;
: Right ((Go to 40.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((30.)) Code fast. ((Go to 35.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((35.)) Does it work yet? &lt;br /&gt;
: No ((Go to 30.))  &lt;br /&gt;
: Almost, but it&amp;amp;#39;s become a mass of kludges and spaghetti code. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((40.)) Code well. ((Go to 45.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((45.)) Are you done yet?&lt;br /&gt;
: No. ((Go to 40.))&lt;br /&gt;
: No, and the requirements have changed. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((50.)) Throw it all out and start over. ((Go to 10.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((60.)) ? ((Go to 70.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((70.)) Good code.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}} &lt;br /&gt;
&amp;lt;!-- Include any categories below this line--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jamescat</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22170</id>
		<title>844: Good Code</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22170"/>
				<updated>2012-12-06T09:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jamescat: Fix reference to image name, since it has already been uploaded.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 844&lt;br /&gt;
| date      = 2011-01-07&lt;br /&gt;
| title     = Good Code&lt;br /&gt;
| image     = good_code.png&lt;br /&gt;
| titletext = You can either hang out in the Android Loop or the HURD loop.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
The comic references the common meme of programmers that one can't actually write good code. Either the code is done quickly with shoddy &amp;quot;code style&amp;quot;, weak logical structure, or any number of other kludges and hacks (which causes maintenance of the code to be a programmer's nightmare)... or else it is written well and beautifully structured, but can never be completed before changes in the situation cause the original code design to be insufficient for one or multiple reasons.&lt;br /&gt;
&lt;br /&gt;
Either situation eventually leads to the need to completely start from scratch, designing and writing the program's code all over again. Of course, the writing of this new program is also locked in the perpetual cycle of choosing between ugly/bad code that works marginally well, or good/pretty code that never gets completed before being obsolete.&lt;br /&gt;
&lt;br /&gt;
Additionally, the humorous point is being further emphasized for the primary target audience, programmers, by using an [http://en.wikipedia.org/wiki/Infinite_loop infinite loop] in the flowchart itself. An &amp;quot;infinite loop&amp;quot; in a program is a situation where the author has (almost exclusively by mistake) caused the program to try the same action(s) over and over with no way of escaping the repeating sequence.&lt;br /&gt;
&lt;br /&gt;
Also, of particular note, is the fact that Randall (the author) drives home the point of the inescapability of the infinite loop(s) by the use of the additional, disconnected, and logically unreachable portion of the flowchart. This disconnect points out that the only way to actually get to &amp;quot;Good Code&amp;quot; using the flow chart would be to follow a path of actions -- which does '''not''' start at the proscribed place -- for which there is only an unknown ''(and possibly unknowable)'' starting action (&amp;quot;?&amp;quot;) which no one has ever discovered previously.&lt;br /&gt;
&lt;br /&gt;
The image title text, &amp;quot;You can either hang out in the Android Loop or the HURD loop,&amp;quot; makes a further dig at each community, claiming that Android developers are always choosing fast, ugly code, while HURD developers are always choosing to &amp;quot;do things right&amp;quot; but can therefore never finish their project at all. (The [http://www.gnu.org/software/hurd/ GNU Hurd project], which aims to create the kernel (i.e. lower-level portions) of the &amp;quot;GNU operating system,&amp;quot; while building on a number of fundamentally &amp;quot;beautiful&amp;quot; concepts, has nonetheless been in development for many years with little forward motion towards actual usability by anyone except the developers themselves.)&lt;br /&gt;
&lt;br /&gt;
Finally, the transcript of this comic is itself somewhat humorous (an additional [http://en.wikipedia.org/wiki/In-joke inside joke], if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called &amp;quot;[http://en.wikipedia.org/wiki/Goto goto loops].&amp;quot; -- Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&amp;lt;!-- The transcript can be found in a hidden &amp;lt;div&amp;gt; element on the xkcd comic's html source, with id &amp;quot;transcript&amp;quot;.&lt;br /&gt;
  -- Tip: Use colons (:) in the beginning of lines to preserve the original line breaks. &lt;br /&gt;
  -- Any actions or descriptive lines in [[double brackets]] should be reduced to [single brackets] to avoid wikilinking&lt;br /&gt;
  -- Do not include the title text again here --&amp;gt;&lt;br /&gt;
: ((The comic is a flowchart.  In order to explain this in text, follow the line numbers.  Options follow on new lines without numbers.))&lt;br /&gt;
: How to write good code.&lt;br /&gt;
: ((10.)) Start Project. ((Go to 20.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((20.)) Do things right or do them fast? &lt;br /&gt;
: Fast ((Go to 30.))  &lt;br /&gt;
: Right ((Go to 40.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((30.)) Code fast. ((Go to 35.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((35.)) Does it work yet? &lt;br /&gt;
: No ((Go to 30.))  &lt;br /&gt;
: Almost, but it&amp;amp;#39;s become a mass of kludges and spaghetti code. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((40.)) Code well. ((Go to 45.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((45.)) Are you done yet?&lt;br /&gt;
: No. ((Go to 40.))&lt;br /&gt;
: No, and the requirements have changed. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((50.)) Throw it all out and start over. ((Go to 10.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((60.)) ? ((Go to 70.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((70.)) Good code.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}} &lt;br /&gt;
&amp;lt;!-- Include any categories below this line--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jamescat</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22169</id>
		<title>844: Good Code</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=844:_Good_Code&amp;diff=22169"/>
				<updated>2012-12-06T09:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jamescat: Original creation of explanation and copying of XKCD transcript into article.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 844&lt;br /&gt;
| date      = 2011-01-07&lt;br /&gt;
| title     = Good Code&lt;br /&gt;
| image     = 844_good_code.png&lt;br /&gt;
| titletext = You can either hang out in the Android Loop or the HURD loop.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
The comic references the common meme of programmers that one can't actually write good code. Either the code is done quickly with shoddy &amp;quot;code style&amp;quot;, weak logical structure, or any number of other kludges and hacks (which causes maintenance of the code to be a programmer's nightmare)... or else it is written well and beautifully structured, but can never be completed before changes in the situation cause the original code design to be insufficient for one or multiple reasons.&lt;br /&gt;
&lt;br /&gt;
Either situation eventually leads to the need to completely start from scratch, designing and writing the program's code all over again. Of course, the writing of this new program is also locked in the perpetual cycle of choosing between ugly/bad code that works marginally well, or good/pretty code that never gets completed before being obsolete.&lt;br /&gt;
&lt;br /&gt;
Additionally, the humorous point is being further emphasized for the primary target audience, programmers, by using an [http://en.wikipedia.org/wiki/Infinite_loop infinite loop] in the flowchart itself. An &amp;quot;infinite loop&amp;quot; in a program is a situation where the author has (almost exclusively by mistake) caused the program to try the same action(s) over and over with no way of escaping the repeating sequence.&lt;br /&gt;
&lt;br /&gt;
Also, of particular note, is the fact that Randall (the author) drives home the point of the inescapability of the infinite loop(s) by the use of the additional, disconnected, and logically unreachable portion of the flowchart. This disconnect points out that the only way to actually get to &amp;quot;Good Code&amp;quot; using the flow chart would be to follow a path of actions -- which does '''not''' start at the proscribed place -- for which there is only an unknown ''(and possibly unknowable)'' starting action (&amp;quot;?&amp;quot;) which no one has ever discovered previously.&lt;br /&gt;
&lt;br /&gt;
The image title text, &amp;quot;You can either hang out in the Android Loop or the HURD loop,&amp;quot; makes a further dig at each community, claiming that Android developers are always choosing fast, ugly code, while HURD developers are always choosing to &amp;quot;do things right&amp;quot; but can therefore never finish their project at all. (The [http://www.gnu.org/software/hurd/ GNU Hurd project], which aims to create the kernel (i.e. lower-level portions) of the &amp;quot;GNU operating system,&amp;quot; while building on a number of fundamentally &amp;quot;beautiful&amp;quot; concepts, has nonetheless been in development for many years with little forward motion towards actual usability by anyone except the developers themselves.)&lt;br /&gt;
&lt;br /&gt;
Finally, the transcript of this comic is itself somewhat humorous (an additional [http://en.wikipedia.org/wiki/In-joke inside joke], if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called &amp;quot;[http://en.wikipedia.org/wiki/Goto goto loops].&amp;quot; -- Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&amp;lt;!-- The transcript can be found in a hidden &amp;lt;div&amp;gt; element on the xkcd comic's html source, with id &amp;quot;transcript&amp;quot;.&lt;br /&gt;
  -- Tip: Use colons (:) in the beginning of lines to preserve the original line breaks. &lt;br /&gt;
  -- Any actions or descriptive lines in [[double brackets]] should be reduced to [single brackets] to avoid wikilinking&lt;br /&gt;
  -- Do not include the title text again here --&amp;gt;&lt;br /&gt;
: ((The comic is a flowchart.  In order to explain this in text, follow the line numbers.  Options follow on new lines without numbers.))&lt;br /&gt;
: How to write good code.&lt;br /&gt;
: ((10.)) Start Project. ((Go to 20.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((20.)) Do things right or do them fast? &lt;br /&gt;
: Fast ((Go to 30.))  &lt;br /&gt;
: Right ((Go to 40.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((30.)) Code fast. ((Go to 35.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((35.)) Does it work yet? &lt;br /&gt;
: No ((Go to 30.))  &lt;br /&gt;
: Almost, but it&amp;amp;#39;s become a mass of kludges and spaghetti code. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((40.)) Code well. ((Go to 45.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((45.)) Are you done yet?&lt;br /&gt;
: No. ((Go to 40.))&lt;br /&gt;
: No, and the requirements have changed. ((Go to 50.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((50.)) Throw it all out and start over. ((Go to 10.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((60.)) ? ((Go to 70.))&lt;br /&gt;
: &amp;amp;nbsp;&lt;br /&gt;
: ((70.)) Good code.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}} &lt;br /&gt;
&amp;lt;!-- Include any categories below this line--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jamescat</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=101:_Laser_Scope&amp;diff=22168</id>
		<title>101: Laser Scope</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=101:_Laser_Scope&amp;diff=22168"/>
				<updated>2012-12-06T07:35:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jamescat: /* Transcript correction from &amp;quot;rocket launcher&amp;quot; to &amp;quot;laser scope&amp;quot; as the graphic on the product box is of the latter, not the former. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number = 101&lt;br /&gt;
| date = May 12, 2006&lt;br /&gt;
| title = Laser Scope&lt;br /&gt;
| image = laser_scope.jpg&lt;br /&gt;
| imagesize = &lt;br /&gt;
| titletext = I wish I'd missed you then so I wouldn't be missing you now&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This comic plays on the {{w|homonym}}ic relationship between &amp;quot;miss&amp;quot; (to feel sad due to the absence of someone) and &amp;quot;miss&amp;quot; (to fail to hit – in this case, with a gunshot). &amp;quot;Miss your loved ones?&amp;quot; is a question which would generally use the former &amp;quot;miss&amp;quot;. However, it's use on the package for a laser scope implies the latter &amp;quot;miss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A laser scope is a tool that can be attached to a firearm to aid in aiming the weapon. The laser adds a degree of accuracy to the scope. The model number RJX-21 does not appear to be a reference to anything, and this comic is primarily a play on a common marketing technique of adapting a common saying to your own product by use of homonym or {{w|homophone}}; in this case, it is perhaps an inappropriate use, as one would not be expected to be aiming a firearm at their loved ones. An exception might be a psychotic stalker.&lt;br /&gt;
 &lt;br /&gt;
The title text hammers it home with the dual use of the word &amp;quot;miss&amp;quot;, as the writer wishes he had missed (not shot) someone so they would not miss them (feel bad that they are not there).&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Box with a mailing label on one side, and in the front:]&lt;br /&gt;
:Miss your loved ones?&lt;br /&gt;
:[Picture of a laser scope]&lt;br /&gt;
:You don't have to.&lt;br /&gt;
:RJX-21 Laser Scope&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Language]]&lt;/div&gt;</summary>
		<author><name>Jamescat</name></author>	</entry>

	</feed>