<?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=99StewartL</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=99StewartL"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/99StewartL"/>
		<updated>2026-04-25T19:50:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1636:_XKCD_Stack&amp;diff=110227</id>
		<title>1636: XKCD Stack</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1636:_XKCD_Stack&amp;diff=110227"/>
				<updated>2016-01-29T11:12:03Z</updated>
		
		<summary type="html">&lt;p&gt;99StewartL: less bugs to fewer bugs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1636&lt;br /&gt;
| date      = January 29, 2016&lt;br /&gt;
| title     = XKCD Stack&lt;br /&gt;
| image     = xkcd_stack.png&lt;br /&gt;
| titletext = This site requires Sun Java 6.0.0.1 (32-bit) or higher. You have Macromedia Java 7.3.8.1¾ (48-bit). Click here [link to java.com main page] to download an installer which will run fine but not really change anything.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Needs more detail.}}&lt;br /&gt;
&lt;br /&gt;
In software engineering, a tech stack is the set of technology platforms and tools that a company or app uses. A common tech stack is LAMP, composed of a Linux operating system, an Apache web server, a MySQL database, and the PHP programming language. In this comic, the XKCD stack is introduced. The technologies comprising it are either non-existent, unreliable, or outdated. &lt;br /&gt;
&lt;br /&gt;
The title text most likely refers to the difficulty of dealing with an outdated Java plugin. Even after installing Java, the plugin might not work correctly and clicking the update link just sends you to the very unhelpful java.com main page. This problem is caused by the fact that browsers are for the most part 32 bit applications and 64 bit Java only works with 64 bit applications.&lt;br /&gt;
&lt;br /&gt;
===Explanation of steps===&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|   | &amp;lt;b &amp;gt;Layer&amp;lt;/b&amp;gt;&lt;br /&gt;
|   | &amp;lt;b &amp;gt;Explanation&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
EBNF/CSS&lt;br /&gt;
|   |&lt;br /&gt;
BNF or {{w|Backus–Naur Form}} is a syntax used for describing {{w|context-free grammars}}.&lt;br /&gt;
{{w|Extended Backus–Naur Form|EBNF}} is &amp;quot;Extended BNF&amp;quot;, it is the same thing as BNF with a few more syntactic constructs intended to ease its use in the most common cases.&lt;br /&gt;
CSS or {{w|Cascading Style Sheets}} are a language used to describe what a web page should look like. Web pages are usually written in {{w|HTML}}, which describes the ''structure'' of the page (i.e. divides the document into paragraphs, lists, etc.) complemented with CSS which describes the ''look and feel'' of the page (colors, fonts, margins, etc.). EBNF/CSS would suggest CSS with strange syntax.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Broken Java Applet&lt;br /&gt;
|   |&lt;br /&gt;
Recent years it became more difficult to run {{w|Java (programming language)|Java}} {{w|Applet|applets}} in several browsers. Since {{w|Google Chrome|Chrome}} 45 stopped supporting {{w|NPAPI}}, it's no longer possible to run Java applets on Chrome. Furthermore, two days before this comic was published {{w|Oracle Corporation|Oracle}} (the developer of Java) announced plans to officially end support of Java applets in an upcoming version.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Archive.org Mirror&lt;br /&gt;
|   |&lt;br /&gt;
Archive.org is a website which archives websites, and created the Wayback Machine. An Archive.org mirror would be a duplicate of a website on Archive.org's servers. As Archive.org attempts to mirror whole internet, Archive.org's mirror would be rather big. Moreover, the backup of Archive.org should not back up Archive.org itself or, otherwise, create an infinite backup loop.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Hypercard.js&lt;br /&gt;
|   |&lt;br /&gt;
{{w|HyperCard}} can be considered as a kind of predecessor for the world wide web developed at {{w|Apple Inc.|Apple}}. The file extension .js indicates that is was rewritten in {{w|JavaScript}}. A similar reference to JavaScript is found in [[1508: Operating Systems]]. The .js extension also refers to node.js, where most library names end in .js&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
QBasic on Rails&lt;br /&gt;
|   |&lt;br /&gt;
A mix between {{w|QBasic}} and {{w|Ruby on Rails}}. QBasic was programming language on first PCs, known for spaghetti code. Ruby on Rails is rather modern language. I'm sure someone, somewhere has a web server running on basic.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
[Blocked by AdBlocker]&lt;br /&gt;
|   |&lt;br /&gt;
{{w|Ad blocking}} software are extensions to browsers that try to remove ads from web pages, so the user is not distracted by them. [[624: Branding]] shows what &amp;quot;browsing without adblock&amp;quot; looks like.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
MongoDB/Excel&lt;br /&gt;
|   |&lt;br /&gt;
MongoDB is modern database, Excel is a spreadsheet program from Microsoft, which is sometimes misused as a database system.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Some piece that works so nobody asks any questions&lt;br /&gt;
|   |&lt;br /&gt;
Writing any non-trivial piece of software always require a phase of {{w|Debugging|debugging}}, which consists in finding and fixing {{w|Software bug|bugs}}. With complex software, this is a long and tiring process, so when the product is finally finished no one dares to modify it any further for fear that it will fail in unexpected ways. After some time passes, it is even worse because nobody really remembers how the software was ''supposed'' to work, so the product becomes some kind of godlike treasure which must be treated with the utmost respect and reverence because, you know, if it stops working we're all doomed.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Triply-Nested Docker&lt;br /&gt;
|   |&lt;br /&gt;
Docker allows complete operating system to run under different operating system (with some performance penalty). Triply-nested docker would mean operating system A running under operating system B running under operating system C. That would likely be a performance and management nightmare&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Paravirtual Boy®&lt;br /&gt;
|   |&lt;br /&gt;
This is a reference to the {{w|Virtual Boy}}, a failed portable console created by {{w|Nintendo}}. Paravirtual is recent buzzword in virtualization community these days. &amp;quot;Virtual X&amp;quot; means simulated X. &amp;quot;Paravirtual X&amp;quot; means X is simulated, but is aware of simulation and cooperating, for faster performance. I hope the triply-nested Docker above runs paravirtualized.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
A dev typing real fast&lt;br /&gt;
|   |&lt;br /&gt;
A dev is a {{w|Software developer|software developer}}. This is possibly a reference to [[341: 1337: Part 1]], where [[Mrs. Roberts]] edits the {{w|Transmission Control Protocol|TCP}} stream live while wearing oven mitts and baking cookies. Such a feat would require real fast typing. It looks like xkcd webserver is not a computer after all -- we have a person manually replying to HTTP protocol queries. I guess he's busy.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Older version of our software&lt;br /&gt;
|   |&lt;br /&gt;
People are often reluctant to switch to newer versions of software because, even though newer versions are supposed to have more features and fewer bugs, they end up confusing users. Users of older versions are used to do everything with less features and circumventing old bugs. They don't know how to use the new features, which of course come with new bugs they haven't learned how to circumvent yet. It is also often the case that newer versions remove weird unused old features, breaking the workflow of users who actually did use such features and are left without a suitable replacement.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Mystery Networking Horror&lt;br /&gt;
|   |&lt;br /&gt;
Randall suggests here that the whole networking stuff behind the XKCD service is both mysterious (none actually knows the details) and horrific (technically questionable architecture and implementation).&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Microsoft Bob Server®&lt;br /&gt;
|   |&lt;br /&gt;
[https://en.wikipedia.org/wiki/Microsoft_Bob Microsoft Bob] was a short-lived, failed attempt by Microsoft, around 1995, to provide a user-friendly interface for the Windows 3.1x, Windows 95 and Windows NT operating systems. It consisted of a virtual &amp;quot;house&amp;quot; and &amp;quot;rooms&amp;quot;, and the idea was that you could click on a pen and open the word processor. It was heavily criticized and was soon discontinued. Randall seems to be making the suggestion the Bob has continued to be developed and now there's a Bob Server, similarly to Windows server.&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
A giant CPU someone built in Minecraft&lt;br /&gt;
|   |&lt;br /&gt;
{{w|Minecraft}} is a popular sandblock game where you place blocks to build things. Since the introduction of Redstone objects (materials used to create basic electric circuits within the game) people have made many machines within Minecraft, including calculators and clocks. The most complex of these machines simulate simple computers, capable of storing several lines of code and performing basic mathematical operations such as division, which requires thousands of blocks and extremely complex designs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
&lt;br /&gt;
:Introducing&lt;br /&gt;
&lt;br /&gt;
:The XKCD Stack&lt;br /&gt;
:{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|   |&lt;br /&gt;
EBNF/CSS&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Broken Java Applet&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Archive.org Mirror&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Hypercard.js&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
QBasic on Rails&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
[Blocked by AdBlocker]&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
MongoDB/Excel&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Some piece that works so nobody asks any questions&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Triply-Nested Docker&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Paravirtual Boy®&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
A dev typing real fast&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Older version of our software&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Mystery Networking Horror&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
Microsoft Bob Server®&lt;br /&gt;
|-&lt;br /&gt;
|   |&lt;br /&gt;
A giant CPU someone built in Minecraft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Computers]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Video games]]&lt;/div&gt;</summary>
		<author><name>99StewartL</name></author>	</entry>

	</feed>