<?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=162.158.214.149</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=162.158.214.149"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/162.158.214.149"/>
		<updated>2026-04-17T08:37:22Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1716:_Time_Travel_Thesis&amp;diff=124740</id>
		<title>1716: Time Travel Thesis</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1716:_Time_Travel_Thesis&amp;diff=124740"/>
				<updated>2016-08-05T11:09:05Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: /* Explanation */ Replace sexist word&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1716&lt;br /&gt;
| date      = August 5, 2016&lt;br /&gt;
| title     = Time Travel Thesis&lt;br /&gt;
| image     = time_travel_thesis.png&lt;br /&gt;
| titletext = 'Hey, what are those futuristic goggles for, anyway?' 'Oh, this is just a broken Google Glass. It was 2010's night at the club.'&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created by a BOT - Please change this comment when editing this page.}}&lt;br /&gt;
[[Cueball]] has apparently been reading about {{w|time travel}} (whether in a book or online, we are not told). He tells [[Megan]] about this, and Megan excitedly remarks that she did her college thesis on time travel, meaning she did a lot of learning and knows how to not have a bad problem that will make it so she will not go to 1812 today.&lt;br /&gt;
&lt;br /&gt;
Cueball starts talking to her about time travel, trying to explain various facets about it to her, but Megan keeps trying to say that she already knows all of this (and likely much, much more) because she wrote her thesis all about this. &lt;br /&gt;
&lt;br /&gt;
Suddenly, a Megan from the future uses time travel (likely adapted from the work in her thesis) to come back and tell Megan that this conversation doesn't go anywhere and isn't important, and so present Megan can leave and not waste her time anymore. Up till then, Megan was presumably relucatant to break off a conversation on the topic of time travel, since the conversation could potentially have improved.&lt;br /&gt;
&lt;br /&gt;
The Title Text mentions Google Glass and also that it broke in 2010. This is another reference to the time traveling, as there were no Google Glasses available to the public in 2010 (not even now in 2016). So whoever broke the Glasses in 2010 has to be from a future where you can buy them and he/she had to travel back to 2010 to an presumably awesome Party where he/she broke them.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
[Cueball is facing Megan, talking to her.]&lt;br /&gt;
:Cueball: I've been reading about time travel.&lt;br /&gt;
:Megan:Cool! I did my thesis on time travel!&lt;br /&gt;
&lt;br /&gt;
[Cueball is now gesturing toward Megan. An explosion of some sort is shown behind Megan, toward the bottom of the panel.]&lt;br /&gt;
:Cueball: Nice! So you know about closed timelike curves?&lt;br /&gt;
:Megan: Yup. Thesis.&lt;br /&gt;
:Cueball: Apparently wormholes can use exotic matter to–&lt;br /&gt;
:Megan: I know. Like I said–&lt;br /&gt;
:Explosion: BZZZZT!&lt;br /&gt;
&lt;br /&gt;
[Cueball and Megan both look right, toward the direction of the explosion. An alternate Megan, wearing a headset and a machine strapped to her back, faces them from the right.]&lt;br /&gt;
:Alternate Megan: You can skip this conversation. It doesn't turn out to be important.&lt;br /&gt;
:Megan: Oh, thank God.&lt;br /&gt;
&lt;br /&gt;
[In the fourth panel, both Megans are absent. Cueball continues to stare at their former location. He does not speak.]&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1705:_Pok%C3%A9mon_Go&amp;diff=123226</id>
		<title>Talk:1705: Pokémon Go</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1705:_Pok%C3%A9mon_Go&amp;diff=123226"/>
				<updated>2016-07-11T20:01:06Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~--&amp;gt;&lt;br /&gt;
I think the pets in title text are meant as real life pets such as dogs - otherwise &amp;quot;pokémon&amp;quot; would probably be used, not &amp;quot;pets&amp;quot;.&lt;br /&gt;
[[Special:Contributions/141.101.95.129|141.101.95.129]] 07:52, 11 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I downloaded it and pointed at my girlfriend's ass. There was a Poliwrath sitting on it glaring at me. [[Special:Contributions/162.158.214.150|162.158.214.150]]&lt;br /&gt;
&lt;br /&gt;
Limited edition Randall Pokemon?!?!?  I gotta catch them all!&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1704:_Gnome_Ann&amp;diff=123092</id>
		<title>Talk:1704: Gnome Ann</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1704:_Gnome_Ann&amp;diff=123092"/>
				<updated>2016-07-08T21:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~--&amp;gt;&lt;br /&gt;
The lotr reference is about the Witch King of Angmar instead of Sauron&lt;br /&gt;
Source:&lt;br /&gt;
https://en.m.wikipedia.org/wiki/Witch-king_of_Angmar&lt;br /&gt;
&lt;br /&gt;
[[Special:Contributions/162.158.196.143|162.158.196.143]] 05:05, 8 July 2016 (UTC)Dege&lt;br /&gt;
&lt;br /&gt;
I'm surprised there's no reference to [https://en.wikipedia.org/wiki/Polyphemus Polyphemus] from [https://en.wikipedia.org/wiki/Homer Homer's] [https://en.wikipedia.org/wiki/Odyssey Odyssey]. Or is there one that I haven't seen?&lt;br /&gt;
&lt;br /&gt;
[[Special:Contributions/162.158.85.165|162.158.85.165]] 08:00, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
I saw the first panel, and honestly thought the pun was between Gnome Ann and the [https://en.wikipedia.org/wiki/Gnomon gnomon] of a sundial.  The rest made pretty clear of what's up, though.&lt;br /&gt;
&lt;br /&gt;
[[Special:Contributions/108.162.219.5|108.162.219.5]] 10:01, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
Between the trenches: Gnome Ann's land. [[Special:Contributions/172.68.10.34|172.68.10.34]] 11:29, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
Great comic. I really like this one. The idea is old but is put into new perspective with the drawings. Guess this can be made in different languages. Have seen one in Danish where a person was named ''Ingens'' = no one. So if something was owned by no one it was his... Must admit I did not get it until the Star Trek reference but I'm not native English and had to try it out to hear the no man in gnome ann where I would also pronounce the g hard although not for the reason mentioned in the explanation but because the Danish word Gnom is pronounced like that and not like nome. We need a Star Trek category I would say! --[[User:Kynde|Kynde]] ([[User talk:Kynde|talk]]) 14:26, 8 July 2016 (UTC)&lt;br /&gt;
:[[:Category:Star Trek|Done]]! --[[User:Kynde|Kynde]] ([[User talk:Kynde|talk]]) 15:42, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
It might still be considered a 'literary quotation' but, strictly speaking, the line &amp;quot;I am no man&amp;quot; is from the movie. The original dialogue in the book isn't quite that simple, and the &amp;quot;Gnome Ann&amp;quot; joke probably wouldn't work. [[Special:Contributions/162.158.214.220|162.158.214.220]] 14:28, 8 July 2016 (UTC)&lt;br /&gt;
:Given that it depicts the scene from the movie that is a perfect quote for this comic. --[[User:Kynde|Kynde]] ([[User talk:Kynde|talk]]) 15:42, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
[http://languagelog.ldc.upenn.edu/nll/?p=26686 Language Log] has more of these.  [[User:.42|.42]] ([[User talk:.42|talk]]) 15:34, 8 July 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
Gnome Ann is an island. --[[Special:Contributions/108.162.237.211|108.162.237.211]] 16:39, 8 July 2016 (UTC)&lt;br /&gt;
:[https://zgrep.org/draw/island.png I could not resist.] {{User:Grep/signature|18:31, 08 July 2016}}&lt;br /&gt;
&lt;br /&gt;
Do you think Gnome Ann does double crit damage?  She is no man, and she is Gnome Ann.&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1685:_Patch&amp;diff=120899</id>
		<title>1685: Patch</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1685:_Patch&amp;diff=120899"/>
				<updated>2016-05-27T05:21:55Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: Use non-version-specific link to re module docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1685&lt;br /&gt;
| date      = May 25, 2016&lt;br /&gt;
| title     = Patch&lt;br /&gt;
| image     = patch.png&lt;br /&gt;
| titletext = My optimizer uses content-aware inpainting to fill in all the wasted whitespace in the code, repeating the process until it compiles.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{w|Adobe Photoshop}} is a commonly used application for image manipulation. One of its features is the Patch tool, which allows the user to overwrite parts of the image, replacing them with a copy of another area of the same image. It is often used for “patching up” photographs by overwriting scratches or other visible damage to the photo. Another of Photoshop’s features is “content-aware fill”, which could also be described as “content-aware inpainting”. It works similarly to the Patch tool, but automatically generates a replacement texture from the area surrounding the deleted part instead of copying a user-specified area exactly.&lt;br /&gt;
&lt;br /&gt;
{{w|GNU}} {{w|Patch (Unix)|patch}} is a program that replaces only parts of code with an updated version, without requiring the user to download the entire source code. Here, it appears the author was told to “patch” the code, but used Photoshop to do this instead of GNU patch, with devastating results. Although the title text suggests that if you did this enough times the code would eventually compile, this would never happen. In fact, Photoshop could only edit an image of the text and not the text itself.&lt;br /&gt;
&lt;br /&gt;
The comic blurs the difference between {{w|text_file|text}} (in which letters and symbols represent discrete values, such as 65 being the number for the letter A in the ASCII encoding standard, and it's relatively easy for a program compiler to interpret combinations of these values as keywords and other programming constructs) and {{w|Raster_graphics|graphics}} (where the letters and symbols in the comic are actually represented by pattern of colored dots).  There are common and straightforward processes for converting text information to images, such as printing, which can convert text to a graphics format very faithfully.  The reverse, however, requires the use of {{w|optical character recognition}} (OCR), which attempts to figure out which letter or symbol certain patterns of dots &amp;quot;look like&amp;quot;.  OCR could be effective in converting some of the image in the comic back to usable text, however it would fail on some of those patterns that have been mangled and don't look like any existing characters or symbols.  A compiler can only operate on text data, so converting the graphic back into text would be a requirement to even begin to attempt to compile it, a step omitted in the title text.&lt;br /&gt;
&lt;br /&gt;
The code appears to be written in {{w|Python_(programming_language)|Python}}, a programming language often referred to in xkcd.  A few of the function names that can be recognized are &amp;quot;isPrime&amp;quot; and &amp;quot;quicksort&amp;quot;, both elementary programming algorithms.  It was also apparently originally edited using a Python-aware programming text editor, which is able to use different colors for different programming elements.  For example, it appears to use red for keywords, blue for variables, and black for other elements, however because of the mangling from the use of the wrong patching program, that doesn't appear to be consistent.  Since the patching replaced graphical elements rather than whole characters, there are examples of symbols that are combination of two different characters, and when the original two characters were rendered in different colors the resulting non-character could be in two colors, or the resulting &amp;quot;word&amp;quot; might be rendered in multiple colors.&lt;br /&gt;
&lt;br /&gt;
The title text also explains that patch used the content-aware inpainting to fill in all the wasted whitespace in the code. In most programming languages, whitespace is necessary to separate words, so this would combine words that shouldn’t be combined and create invalid code. Since the code in the image is Python, the code will be messed up even more, because Python uses whitespace as a part of its programming syntax. For example, statements are separated by new lines instead of by semicolons (;), and indentation is used instead of brackets to determine the scope of each section of code.&lt;br /&gt;
&lt;br /&gt;
The original code was likely as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;import&amp;lt;/font&amp;gt; re&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;def&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt; isPrime&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;(n):&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if &amp;lt;/font&amp;gt;n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;=&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;:&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;False&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;for&amp;lt;/font&amp;gt; i &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;in &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;range&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;2&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;int&amp;lt;/font&amp;gt;(n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;**&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;0.5&amp;lt;/font&amp;gt;)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;):&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;==&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;0&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;:&lt;br /&gt;
 			&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt; False&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;True&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;def &amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;isPrimeRegex&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;(n):&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; re.match(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;r&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;^&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;?&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;$&amp;lt;/font&amp;gt;|&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;^&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;(11&amp;lt;/font&amp;gt;+?&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;)&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;\1+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;$&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'1'&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;n): &lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;False&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt; True&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;def&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt; quicksort&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;(a):&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;len&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;(a) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt; &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;2&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;:&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return &amp;lt;/font&amp;gt;a&lt;br /&gt;
 	pivot&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;a[&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;0&amp;lt;/font&amp;gt;]&lt;br /&gt;
 	l&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;[i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; for&amp;lt;/font&amp;gt; i &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;in&amp;lt;/font&amp;gt; a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;&amp;lt;/font&amp;gt;pivot]&lt;br /&gt;
 	r&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;[i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; for&amp;lt;/font&amp;gt; i &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;in&amp;lt;/font&amp;gt; a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;gt;&amp;lt;/font&amp;gt;pivot]&lt;br /&gt;
 	mid&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;[pivot]&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;len&amp;lt;/font&amp;gt;(a)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;-&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;len&amp;lt;/font&amp;gt;(l)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;len&amp;lt;/font&amp;gt;(r)))&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;return &amp;lt;/font&amp;gt;quicksort(l)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;mid&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;quicksort(r)&lt;br /&gt;
&lt;br /&gt;
isPrime and quicksort are standard python implementations of simple algorithms (although you would not generally write a sorting algorithm in python as there are built-in algorithms available).  isPrimeRegex uses the [https://docs.python.org/library/re.html re module] to detect if a number is prime by seeing if a string containing that many 1s can be matched to 2 or more copies of some string containing at least 2 1s.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[The panel displays part of a code, in five different colors (red, purple, light blue, blue and green) as well as normal black text, which due to image editing is difficult to read. The first and last line are partly obscured by the frame of the panel. Here below is an attempt to transcribe the code, using the sign &amp;quot;¤&amp;quot; for anything not easily transcribed. Feel free to add other signs instead of these that looks more like the one in the image (and also improve the attempted transcription if possible).]&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;impo¤l &amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;me&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;doo&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;PisPŞ¤me&amp;lt;/font&amp;gt;(n):&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;r&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;¤&amp;lt;/font&amp;gt;n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;&amp;lt;/font&amp;gt;n,&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;:&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;retern&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;F&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;ise&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;for&amp;lt;/font&amp;gt; i &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;ir&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;ararre&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;2&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;nint&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;**&amp;lt;/font&amp;gt;n&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;5&amp;lt;/font&amp;gt;)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;5&amp;lt;/font&amp;gt;):&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; n i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;==&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;0&amp;lt;/font&amp;gt;&lt;br /&gt;
 			&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;ret¤¤nrs&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;elsel&amp;lt;/font&amp;gt;:&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;re¤ irn &amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;True&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;defe&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;sisPrimcieg ¤x&amp;lt;/font&amp;gt;(c&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;x&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;g&amp;lt;/font&amp;gt;e&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;¤i&amp;lt;/font&amp;gt;natc&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;x&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;r&amp;lt;/font&amp;gt;'&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;^&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;(1&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;?| ?.&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+?&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;)&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;lime&amp;quot;&amp;gt;\+&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;)&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;$&amp;lt;/font&amp;gt;'&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;n &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;)1'&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;n):&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;rerjrn &amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;Fa&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;(&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt; e&amp;lt;/font&amp;gt;&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Letyl&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;nr&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;Trl&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;dq&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;purple&amp;quot;&amp;gt;l qlsorsor&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;n&amp;lt;/font&amp;gt;(a :&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;if &amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;¤n&amp;lt;/font&amp;gt;(a &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt; &amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;2&amp;lt;/font&amp;gt;:&lt;br /&gt;
 		&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;eteturn &amp;lt;/font&amp;gt;a&lt;br /&gt;
 	pi&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;= =r f&amp;lt;/font&amp;gt;a[&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;0&amp;lt;/font&amp;gt;]&lt;br /&gt;
 	l&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;pi&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=for&amp;lt;/font&amp;gt; j &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;ln&amp;lt;/font&amp;gt; a i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;&amp;lt;/font&amp;gt; i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;&amp;lt;/font&amp;gt;pi&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;&amp;lt;/font&amp;gt;(t]&amp;lt;small&amp;gt;(&amp;lt;/small&amp;gt;)&lt;br /&gt;
 	r&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;[l&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=for f in&amp;lt;/font&amp;gt; a) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;r&amp;lt;/font&amp;gt; i&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;gt;&amp;lt;/font&amp;gt;viviv]&amp;lt;small&amp;gt;(&amp;lt;/small&amp;gt;vo)&lt;br /&gt;
 	mid&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;=&amp;lt;/font&amp;gt;[pi[&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;t]&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;l&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;t&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;,&amp;lt;/font&amp;gt;(a)&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;-&amp;lt;/font&amp;gt;(&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;len&amp;lt;/font&amp;gt;pi&amp;lt;font color=&amp;quot;#44A1FF&amp;quot;&amp;gt;enlen&amp;lt;/font&amp;gt;(c)))&lt;br /&gt;
 	&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;r¤lrurrr&amp;lt;/font&amp;gt;iklcksckt(l) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;+&amp;lt;/font&amp;gt; r ¤ ¤quickrort(r)&lt;br /&gt;
&lt;br /&gt;
:[Caption below the panel:]&lt;br /&gt;
:Protip: If you don't have access to the GNU ''patch'' tool, you can use the Photoshop one.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Comics with color]]&lt;br /&gt;
[[Category:Protip]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1670:_Laws_of_Physics&amp;diff=118521</id>
		<title>1670: Laws of Physics</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1670:_Laws_of_Physics&amp;diff=118521"/>
				<updated>2016-04-22T20:27:40Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1670&lt;br /&gt;
| date      = April 20, 2016&lt;br /&gt;
| title     = Laws of Physics&lt;br /&gt;
| image     = laws_of_physics.png&lt;br /&gt;
| titletext = The laws of physics are fun to try to understand, but as an organism with incredibly delicate eyes who evolved in a world full of sharp objects, I have an awful lot of trust in biology's calibration of my flinch reflex.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
[[Black Hat]], being {{w|Black Hat}}, is deliberately perverting a classic physics demonstration.  In the normal version of the demonstration, a heavy ball on a pendulum is pulled to one side until it is almost, but not quite, touching the demonstrator or volunteer's nose or chin.  When the ball is released at rest, it swings down and away, then back up to (almost) the same distance in the arc from where it started &amp;amp;mdash; but ''never'' (by the laws of physics) farther than where it started.  If the demonstrator or volunteer doesn't lean in, the heavy ball will never hit them in the nose.  Thus, faith in physics means there is no reason to flinch. (Sample videos: [https://www.youtube.com/watch?v=xXXF2C-vrQE], [https://www.youtube.com/watch?v=i2GdY1OlDpA].)&lt;br /&gt;
&lt;br /&gt;
In this comic, since Cueball is not standing at the beginning edge of the ball's movement, but rather at the base of its swing, he is about to get a rude surprise.  However, judging from the &amp;quot;slack&amp;quot; of the rope, the ball should not hit Cueball in the head, but would almost certainly hit him lower.&lt;br /&gt;
&lt;br /&gt;
The title text refers to the fact when someone flinches during the pendulum experiment, they are commonly accused of not having faith in the laws of physics. Randall is rebutting this argument by stating that, rather than not having faith in science, he is actually in tune with it, specifically the biological processes that led to the flinch reflex. His eyes and his flinch reflex have been calibrated through millions of years of evolution. To instantly dismiss his body's natural reaction when a heavy object comes quickly towards his face does not give enough credit to these mechanisms that successfully kept him (and every one of his ancestors) alive.  In other words, while flinching may indicate doubt of the laws of physics, it may equally well indicate trust in the laws of biology.&lt;br /&gt;
&lt;br /&gt;
==Possible references==&lt;br /&gt;
&lt;br /&gt;
The idea of hitting someone else with a pendulum is also topic of [[755: Interdisciplinary]].&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&lt;br /&gt;
:[Black Hat is standing on a ladder, holding a heavy ball attached to a line from above. Cueball stands beneath, where if the ball swings it will smack him right in the face.]&lt;br /&gt;
:Black Hat: Okay, hold still.&lt;br /&gt;
:Black Hat: And remember, if you ''really'' believe in the laws of physics, you won't flinch.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Comics featuring Black Hat]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118499</id>
		<title>1671: Arcane Bullshit</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118499"/>
				<updated>2016-04-22T14:47:28Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1671&lt;br /&gt;
| date      = April 22, 2016&lt;br /&gt;
| title     = Arcane Bullshit&lt;br /&gt;
| image     = arcane_bullshit.png&lt;br /&gt;
| titletext = Learning arcane bullshit from the 80s can break your computer, but if you're willing to wade through arcane bullshit from programmers in the 90s and 2000s, you can break everyone else's computers, too.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|First draft. Please go over it and try to fix any mistakes.}}&lt;br /&gt;
In the '80s, computer sciences in general were far out of the public eye and rapidly advancing for the niche group who did work with it. As such, programming became complex very quickly, leading to its current state of being &amp;quot;arcane bullshit&amp;quot; (understood by few; mysterious or secret). &lt;br /&gt;
&lt;br /&gt;
This comic could also be a reference to OOP (Object Oriented Programming).  Although the idea of OOP was around as early as the 1950's, it was not implemented in a widespread fashion until the 1990's.  OOP is a program design method in which each step a program must complete is laid out separately inside the code.  This makes the readability and repair-ability of the code MUCH better than the previous method called spaghetti code.&lt;br /&gt;
&lt;br /&gt;
Spaghetti coding is a programming method in which the program tasks are done in one long continuous block of code.  This may not sound too horrible at first, but programs must often call on a particular task multiple times.  With OOP coding, this is done by simply calling on the separate step.  In spaghetti code, this involves jumping backwards in the program to a specific step that is not clearly marked in the program.&lt;br /&gt;
&lt;br /&gt;
To give non-programmers (and programmers who haven't had to deal with spaghetti code) an idea of how difficult it is to work with spaghetti code, imagine a Choose Your Own Adventure book...with no formatting.  Not only is each sentence of the book difficult to read, but so are the choices.  When offered a choice in the book, you would be directed to go to page 90 and start on the 141st word on the page.&lt;br /&gt;
&lt;br /&gt;
As such, few people are willing to try to surpass the massive barrier to learning. This group is on the left. To the right are people who have so much skill to program, they spend most of their time developing kernels (base systems) rather than actually doing anything, either looking for a challenge or employed for this exact purpose.&lt;br /&gt;
&lt;br /&gt;
In the center is Cueball, presumably representing Randall, who has learned enough to try and fix code, but not enough for his fixes to actually work.&lt;br /&gt;
&lt;br /&gt;
As programs age, they often lose support from the initial project head and die out, no longer supported on new computers. So, as the title text says, learning more coding from the '90s and after is necessary for also breaking everyone else's computers.&lt;br /&gt;
&lt;br /&gt;
This could also be a comment on hacking and the advent of the internet and the technologies behind that (TCP/IP, HTML, CSS, PHP...) being 90s/2000s.  Computers in the 80s were typically stand alone so what you are learning can only be applied to your machine.  To break everyone else's you need to understand networking.&lt;br /&gt;
&lt;br /&gt;
The title text might be a reference to various recently discovered {{w|security vulnerabilities}} in {{w|open-source software}}.  In some cases, underskilled programmers have provided flawed code for critical infrastructure with very little review, resulting in global computer security disasters.  Randall described one of these in [[1353: Heartbleed]] and [[1354: Heartbleed Explanation]].  Other recent examples include {{w|Shellshock (software bug)|Shellshock}} and vulnerabilities in the {{w|Linux kernel}} involving the [http://timetobleed.com/a-closer-look-at-a-recent-privilege-escalation-bug-in-linux-cve-2013-2094/ perf] and [http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/ keyrings] subsystems.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
[A horizontal graph with three positions]&lt;br /&gt;
:[Graph Title] Willingness to wade through some 80's programmer's arcane bullshit&lt;br /&gt;
:[Left end of graph] Low / Never learn to program&lt;br /&gt;
:[Center of graph, with picture of Cueball] Me / Learn enough to break everything but not enough to fix it&lt;br /&gt;
:[Right end of graph] High / Spend all your time compiling kernels and never make anything&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118498</id>
		<title>1671: Arcane Bullshit</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118498"/>
				<updated>2016-04-22T14:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1671&lt;br /&gt;
| date      = April 22, 2016&lt;br /&gt;
| title     = Arcane Bullshit&lt;br /&gt;
| image     = arcane_bullshit.png&lt;br /&gt;
| titletext = Learning arcane bullshit from the 80s can break your computer, but if you're willing to wade through arcane bullshit from programmers in the 90s and 2000s, you can break everyone else's computers, too.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|First draft. Please go over it and try to fix any mistakes.}}&lt;br /&gt;
In the '80s, computer sciences in general were far out of the public eye and rapidly advancing for the niche group who did work with it. As such, programming became complex very quickly, leading to its current state of being &amp;quot;arcane bullshit&amp;quot; (understood by few; mysterious or secret). &lt;br /&gt;
&lt;br /&gt;
This comic could also be a reference to OOP (Object Oriented Programming).  Although the idea of OOP was around as early as the 1950's, it was not implemented in a widespread fashion until the 1990's.  OOP is a program design method in which each step a program must complete is laid out separately inside the code.  This makes the readability and repair-ability of the code MUCH better than the previous method called spaghetti code.&lt;br /&gt;
&lt;br /&gt;
Spaghetti coding is a programming method in which the program tasks are done in one long continuous block of code.  This may not sound too horrible at first, but programs must often call on a particular task multiple times.  With OOP coding, this is done by simply calling on the separate step.  In spaghetti code, this involves jumping backwards in the program to a specific step that is not clearly marked in the program.&lt;br /&gt;
&lt;br /&gt;
To give non-programmers (and programmers who haven't had to deal with spaghetti code) an idea of how difficult it is to work with spaghetti code, imagine a Choose Your Own Adventure book...with no formatting.  Not only is each sentence of the book difficult to read, but so are the choices.  When offered a choice in the book, you would be directed to go to page 90 and start on the 141's word on the page.&lt;br /&gt;
&lt;br /&gt;
As such, few people are willing to try to surpass the massive barrier to learning. This group is on the left. To the right are people who have so much skill to program, they spend most of their time developing kernels (base systems) rather than actually doing anything, either looking for a challenge or employed for this exact purpose.&lt;br /&gt;
&lt;br /&gt;
In the center is Cueball, presumably representing Randall, who has learned enough to try and fix code, but not enough for his fixes to actually work.&lt;br /&gt;
&lt;br /&gt;
As programs age, they often lose support from the initial project head and die out, no longer supported on new computers. So, as the title text says, learning more coding from the '90s and after is necessary for also breaking everyone else's computers.&lt;br /&gt;
&lt;br /&gt;
This could also be a comment on hacking and the advent of the internet and the technologies behind that (TCP/IP, HTML, CSS, PHP...) being 90s/2000s.  Computers in the 80s were typically stand alone so what you are learning can only be applied to your machine.  To break everyone else's you need to understand networking.&lt;br /&gt;
&lt;br /&gt;
The title text might be a reference to various recently discovered {{w|security vulnerabilities}} in {{w|open-source software}}.  In some cases, underskilled programmers have provided flawed code for critical infrastructure with very little review, resulting in global computer security disasters.  Randall described one of these in [[1353: Heartbleed]] and [[1354: Heartbleed Explanation]].  Other recent examples include {{w|Shellshock (software bug)|Shellshock}} and vulnerabilities in the {{w|Linux kernel}} involving the [http://timetobleed.com/a-closer-look-at-a-recent-privilege-escalation-bug-in-linux-cve-2013-2094/ perf] and [http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/ keyrings] subsystems.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
[A horizontal graph with three positions]&lt;br /&gt;
:[Graph Title] Willingness to wade through some 80's programmer's arcane bullshit&lt;br /&gt;
:[Left end of graph] Low / Never learn to program&lt;br /&gt;
:[Center of graph, with picture of Cueball] Me / Learn enough to break everything but not enough to fix it&lt;br /&gt;
:[Right end of graph] High / Spend all your time compiling kernels and never make anything&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118497</id>
		<title>1671: Arcane Bullshit</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1671:_Arcane_Bullshit&amp;diff=118497"/>
				<updated>2016-04-22T14:45:48Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.214.149: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1671&lt;br /&gt;
| date      = April 22, 2016&lt;br /&gt;
| title     = Arcane Bullshit&lt;br /&gt;
| image     = arcane_bullshit.png&lt;br /&gt;
| titletext = Learning arcane bullshit from the 80s can break your computer, but if you're willing to wade through arcane bullshit from programmers in the 90s and 2000s, you can break everyone else's computers, too.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|First draft. Please go over it and try to fix any mistakes.}}&lt;br /&gt;
In the '80s, computer sciences in general were far out of the public eye and rapidly advancing for the niche group who did work with it. As such, programming became complex very quickly, leading to its current state of being &amp;quot;arcane bullshit&amp;quot; (understood by few; mysterious or secret). &lt;br /&gt;
&lt;br /&gt;
This comic could also be a reference to OOP (Object Oriented Programming).  Although the idea of OOP was around as early as the 1950's, it was not implemented in a widespread fashion until the 1990's.  OOP is a program design method in which each step a program must complete is laid out separately inside the code.  This makes the readability and repair-ability of the code MUCH better than the previous method called spaghetti code.&lt;br /&gt;
&lt;br /&gt;
Spaghetti coding is a programming method in which the program tasks are done in one long continuous block of code.  This may not sound too horrible at first, but programs must often call on a particular task multiple times.  With OOP coding, this is done by simply calling on the separate step.  In spaghetti code, this involves jumping backwards in the program to a specific step that is not clearly marked in the program.&lt;br /&gt;
&lt;br /&gt;
To give non-programmers (and programmers who haven't had to deal with spaghetti code) an idea of how difficult it is to work with spaghetti code, imagine a Choose Your Own Adventure book...with no formatting.  Not only is each sentence of the book difficult to ready, but so are the choices.  When offered a choice in the book, you would be directed to go to page 90 and start on the 141's word on the page.&lt;br /&gt;
&lt;br /&gt;
As such, few people are willing to try to surpass the massive barrier to learning. This group is on the left. To the right are people who have so much skill to program, they spend most of their time developing kernels (base systems) rather than actually doing anything, either looking for a challenge or employed for this exact purpose.&lt;br /&gt;
&lt;br /&gt;
In the center is Cueball, presumably representing Randall, who has learned enough to try and fix code, but not enough for his fixes to actually work.&lt;br /&gt;
&lt;br /&gt;
As programs age, they often lose support from the initial project head and die out, no longer supported on new computers. So, as the title text says, learning more coding from the '90s and after is necessary for also breaking everyone else's computers.&lt;br /&gt;
&lt;br /&gt;
This could also be a comment on hacking and the advent of the internet and the technologies behind that (TCP/IP, HTML, CSS, PHP...) being 90s/2000s.  Computers in the 80s were typically stand alone so what you are learning can only be applied to your machine.  To break everyone else's you need to understand networking.&lt;br /&gt;
&lt;br /&gt;
The title text might be a reference to various recently discovered {{w|security vulnerabilities}} in {{w|open-source software}}.  In some cases, underskilled programmers have provided flawed code for critical infrastructure with very little review, resulting in global computer security disasters.  Randall described one of these in [[1353: Heartbleed]] and [[1354: Heartbleed Explanation]].  Other recent examples include {{w|Shellshock (software bug)|Shellshock}} and vulnerabilities in the {{w|Linux kernel}} involving the [http://timetobleed.com/a-closer-look-at-a-recent-privilege-escalation-bug-in-linux-cve-2013-2094/ perf] and [http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/ keyrings] subsystems.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
[A horizontal graph with three positions]&lt;br /&gt;
:[Graph Title] Willingness to wade through some 80's programmer's arcane bullshit&lt;br /&gt;
:[Left end of graph] Low / Never learn to program&lt;br /&gt;
:[Center of graph, with picture of Cueball] Me / Learn enough to break everything but not enough to fix it&lt;br /&gt;
:[Right end of graph] High / Spend all your time compiling kernels and never make anything&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;/div&gt;</summary>
		<author><name>162.158.214.149</name></author>	</entry>

	</feed>