<?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=Lucaswerkmeister</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=Lucaswerkmeister"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/Lucaswerkmeister"/>
		<updated>2026-05-19T01:16:49Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:378:_Real_Programmers&amp;diff=45998</id>
		<title>Talk:378: Real Programmers</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:378:_Real_Programmers&amp;diff=45998"/>
				<updated>2013-08-07T10:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lucaswerkmeister: Response regarding cat | cc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[User:MisterSpike|MisterSpike]] ([[User talk:MisterSpike|talk]]) 07:12, 17 June 2013 (UTC)&lt;br /&gt;
I was going to edit the above description, but it was taking too much time to edit it into a suitable format, so here's the long version.&lt;br /&gt;
&lt;br /&gt;
In the beginning was UNIX.  And it was good.  And it was written by some very clever people.&lt;br /&gt;
&lt;br /&gt;
One of the first very useful tools they wrote was '''{{w|ed (text editor)|ed}}''', a &amp;quot;line-editor&amp;quot; (i.e. it works one line at a time).  It uses some simple commands, and was created to work on very-old-school teletype machines, where you type a command, and '''ed''' types a response back.&lt;br /&gt;
&lt;br /&gt;
It was a lovely bit of code.  Using very little the way of resources, it allowed you to create a text document of any length, including source code in whatever language you wanted to program in.&lt;br /&gt;
&lt;br /&gt;
Eventually, a more sophisticated version called '''{{w|ex (text editor)|ex}}''' (short for EXtended) was written by a clever man named Bill Joy.  While it has some great improvements over ed, it was still a line-editor.&lt;br /&gt;
&lt;br /&gt;
The trouble was, using a line-editor like '''ed''' or '''ex''' requires you to have a very good {{w|mental model}} of the document you are creating.  Unfortunately, humans aren't very good at this, so they constantly need to refresh their mental model by printing out big chunks of the document (or program) they are working on.  This took a LOT of paper using teletypes.&lt;br /&gt;
&lt;br /&gt;
Eventually, teletypes were replaced with {{w|Computer_terminal#Dumb_terminal|terminals}}.  This saved a lot of paper.  But the people who created the terminals began making them smarter than teletypes, so that magic character sequences could be used to move the cursor around, rather that simply going character-by-character across the line, then scrolling down to the next line, and so on.  This opened up a whole new world.&lt;br /&gt;
&lt;br /&gt;
The very clever Bill Joy took advantage of these magic character sequences to create his wonderful &amp;quot;full-screen&amp;quot; text editor '''{{w|vi}}'''.  '''vi''' was the &amp;quot;VIsual mode&amp;quot; of '''ex'''.  With '''vi''', the user could see a screen-full of text at once.  Entire forests were saved.&lt;br /&gt;
&lt;br /&gt;
'''Emacs''' was developed at the same time as '''vi''', using the same magic characters, and was also a full-screen text editor.  I've never used it, so I can't speak to its merits, but there are many people who still find it more useful than any GUI they've tried.&lt;br /&gt;
&lt;br /&gt;
On the one hand, '''vi''' and '''emacs''' are more sophisticated tools, and thus take longer to learn to use than '''ed'''.  However, once you learn to use them, they make writing code EASIER, and they are therefore considered a less praise-worthy way of writing code by those concerned with defining what a &amp;quot;Real Programmer&amp;quot; is.  (In other words, those programmers suffering from {{w|testosterone poisoning}}.)&lt;br /&gt;
&lt;br /&gt;
Using '''cat''' to write a program looks like this:  (Note that the $ is the prompt provided by the computer.  The rest is typed by the user.  And the ^D means the user held down the control key while typing the letter &amp;quot;d&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''$''' cat | cc&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''The user types C code here, and ends with ^D.  Assuming all goes well, the compiler silently finishes after creating the executable program '''a.out''' in the user's current working directory.''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reason this is considered a more praise-worthy way of coding is that, in those early days, doing this meant that your code was lost the instant you typed it.  If you made a mistake, you would have to type the whole thing again.  So doing this for code of any sophistication was considered an act of courage, confidence, and conviction.  (I myself did it several times, for the fun of it, when no-one was watching, though never for a program that took more than about 30 lines of code.  I was delighted that it worked all 3 times, but since I love to write re-usable code, this wasn't really something I wanted to keep doing.)&lt;br /&gt;
&lt;br /&gt;
NOW PAY ATTENTION.  '''VI IS NOT VIM!'''  '''{{w|Vim (text editor)|Vim}}''' was written in 1991, long after more sophisticated {{w|Shell (computing)|shells}} were created that made it possible to copy and paste text from one part of the screen to another.  This ability greatly reduced the risks of using '''cat''' to pass your source code directly to the compiler, so it was no longer a praise-worthy stunt.  Thus the line &amp;quot;Real programmers use vim&amp;quot; was NEVER considered true by any UNIX programmer.&lt;br /&gt;
&lt;br /&gt;
Whether this was a mistake of the author, or the character (possibly Megan?) is unclear.  It seems possible that it was a simple typo, but since I've never seen one in the strip before, I'm somewhat skeptical.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;cat | cc&amp;lt;/code&amp;gt; doesn't work on my system. My &amp;lt;code&amp;gt;cc&amp;lt;/code&amp;gt; is simply a symlink to &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;; what's yours? --[[User:Lucaswerkmeister|Lucaswerkmeister]] ([[User talk:Lucaswerkmeister|talk]]) 10:16, 7 August 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>Lucaswerkmeister</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1190:_Time/Translator&amp;diff=44504</id>
		<title>1190: Time/Translator</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1190:_Time/Translator&amp;diff=44504"/>
				<updated>2013-07-21T18:09:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lucaswerkmeister: Added a suggestion for 18:Unclear-1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here's a list of all the blurry text from the translator, both with the original image and enhanced contrast.&lt;br /&gt;
&lt;br /&gt;
A note about grammar:&lt;br /&gt;
&lt;br /&gt;
* The punctuation appears to be borrowed from the translator's native language.&lt;br /&gt;
* The ring diacritic indicates a question mark.&lt;br /&gt;
* A single line above a letter is a full stop.&lt;br /&gt;
* A double line above a letter is an exclamation mark (or probably a comma).&lt;br /&gt;
&lt;br /&gt;
This might help in determining the native language a bit better.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Original&lt;br /&gt;
! Enhanced contrast&lt;br /&gt;
! Text&lt;br /&gt;
! Notes/corrections&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-1.png]]&lt;br /&gt;
| [[File:translator-contrast-1.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Somewhat&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-2.png]]&lt;br /&gt;
| [[File:translator-contrast-2.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Whence have you traveled here&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-3.png]]&lt;br /&gt;
| [[File:translator-contrast-3.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;You arose here from the desert below? Nobody [unclear-1] there&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: Survives?&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-4.png]]&lt;br /&gt;
| [[File:translator-contrast-4.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;I am sorry. Your language is like those spoken by the [unclear-1] difficult [unclear-2] but I learned it.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: ???&lt;br /&gt;
&lt;br /&gt;
Unclear-2: ???&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-5.png]]&lt;br /&gt;
| [[File:translator-contrast-5.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Please be patient/have patience&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-6.png]]&lt;br /&gt;
| [[File:translator-contrast-6.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;They understand nothing[,] so they will tend to matters.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-7.png]]&lt;br /&gt;
| [[File:translator-contrast-7.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Your bags&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-8.png]]&lt;br /&gt;
| [[File:translator-contrast-8.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;They are heavy.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-9.png]]&lt;br /&gt;
| [[File:translator-contrast-9.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;(You're) welcome&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-10.png]]&lt;br /&gt;
| [[File:translator-contrast-10.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Tell me where your home is.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-11.png]]&lt;br /&gt;
| [[File:translator-contrast-11.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;What river?&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-12.png]]&lt;br /&gt;
| [[File:translator-contrast-12.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;How many people strong are you?&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-13.png]]&lt;br /&gt;
| [[File:translator-contrast-13.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;[unclear-1] forty? All my numbers are too small.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Yes! Good.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: &amp;quot;What is forty?&amp;quot;/&amp;quot;How much is forty?&amp;quot;/&amp;quot;What means forty?&amp;quot; possibly&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-14.png]]&lt;br /&gt;
| [[File:translator-contrast-14.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Do you carry these people with you?&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Possibly meaning, &amp;quot;Did you bring any of those people with you?&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-15.png]]&lt;br /&gt;
| [[File:translator-contrast-15.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Oh.&amp;quot; [both times]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-16.png]]&lt;br /&gt;
| [[File:translator-contrast-16.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;You do not know. [Unclear-1]&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:translator-17.png]]&lt;br /&gt;
| [[File:translator-contrast-17.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Your sea does not stand alone, there is another sea [Unclear-1] beyond the shore. It has become [Unclear-2] to yours [Unclear-3] levels differ and thus water flows&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: &amp;quot;next to it&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Unclear-2: &amp;quot;tied&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Unclear-3: &amp;quot;because the&amp;quot;/&amp;quot;but their&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| [[File:translator-contrast-18.png]]&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;In time even the hills change. When people first [Unclear-1] and first built [Unclear-2] cities the seas were joined. But there was a great [Unclear-3] and the passage was closed.  Your sea [Unclear-4] with too few rivers. Under the sun it shrank and the water fell. Now the sea has found a way back in.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: &amp;quot;walked&amp;quot; or &amp;quot;talked&amp;quot;?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;Do you know where you are?&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;I [Unclear-1] build you a map to understanding.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;The fortress is here.&amp;quot; - &amp;quot;This sea is yours.&amp;quot; - &amp;quot;This sea is joining yours.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;And this is our belief about the sea's new shore.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&amp;quot;We learned it has happened before. When our r[Unclear-1]ts were le[Unclear-2]ng to walk upr[Unclear-3]t, the sea [Unclear-4]d and returned.&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
Unclear-1: &amp;quot;parents&amp;quot; with vertical overlay &amp;quot;forefathers&amp;quot;/rabbits?&lt;br /&gt;
&lt;br /&gt;
Unclear-2: learning?&lt;br /&gt;
&lt;br /&gt;
Unclear-3: upright?&lt;br /&gt;
&lt;br /&gt;
Unclear-4: fled?&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lucaswerkmeister</name></author>	</entry>

	</feed>