Editing 1988: Containers

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
 +
{{incomplete|Created by SOME GLUED TOGETHER SERVERS - Please change this comment when editing this page. Do NOT delete this tag too soon.}}
  
{{w|Docker (software)|Docker}} is a computer program that performs {{w|Operating-system-level virtualization|operating-system-level virtualization}} also known as containerization. [[White Hat]] notices that many people are using Docker for "everything," implying that he does not understand what all the fuss is about. [[Cueball]] then explains the fundamental idea behind Docker with a simple story.  
+
{{w|Docker (software)|Docker}} is a computer program that performs operating-system-level virtualization also known as containerization. It is developed by Docker, Inc. White Hat was complaining about how everyone was using Docker, and then Cueball went on about how he wanted to use a tablet as a wall display. He went on about how he tried programming it, but he eventually gave up and glued two smartphones together. The joke is that he achieved software enlightenment, even though he didn't code any software.
  
He notes how difficult it can be to combine two programs and have them work together as one. This is something all programmers can relate to. His specific example is to get two separate programs to display side-by-side on a tablet. The main joke is that Cueball's solution is a surprising twist to solving the problem. Instead of writing a lot of complicated code to deal with the problem at hand, he sidesteps the problem by using two separate devices, literally gluing them together. Containerization software, like Docker, uses the same general idea but the "glue" and the "multiple computers" are done in software, instead of literally gluing two computers together.
+
Many (most? all?) programmers these days rely heavily on previously written code found online, eg StackExchange. This has the advantage that it takes less work, and if it's well written and documented, can be easily customised for the specific task and environment at hand. It has the disadvantage that it's also easy to incorporate it into other software without fully understanding how it works; in theory, an entire program can be developed from such code, by "gluing together stuff that you don't understand".
  
Cueball states that he achieved "software enlightenment" when he "solved" the problem by sidestepping it.
+
==Transcript==
 
+
{{incomplete transcript|Do NOT delete this tag too soon.}}
White Hat's initial confusion comes from the fact that Cueball did not write any software, yet achieved "software enlightenment." A good programmer doesn't necessarily need to be able to write programs or even understand how they work, provided that they have the skills needed to combine existing programs to solve tasks. An alternate interpretation is that someone with little programming experience is able to create a working program simply by copy/pasting code snippets from a coding site such as Stack Overflow and "gluing" them together without really understanding how they work.
 
 
 
The title text makes a joke about developers writing code for use in a containerized environment. The ideal is to only write "{{w|microservices}}" which are modules that do just one thing and do it well. The joke here is that even when a module does many different things, you can pretend it is a "microservice" by just ignoring all of its features but one (hopefully one that it does well).
 
  
==Transcript==
+
(White Hat is sitting at a computer. Cueball is standing behind him.)
:[White Hat is sitting at a laptop. Cueball is standing behind him.]
+
:White Hat: Man, Docker is being used for everything.
:White Hat: Man, Docker is being used for <i>everything</i>.
+
:White Hat: I don't know how to feel about it.
:White Hat: I don't know how I feel about it.
 
 
:Cueball: Story time!
 
:Cueball: Story time!
  
:[Cueball is standing by himself.]
+
(Cueball is standing by himself)
:Cueball: Once, long ago, I wanted to use an old tablet as a wall display.
+
:Cueball: Once, long ago I wanted to use an old tablet as a wall display.
  
:[A picture of Cueball's imagined tablet with two applications open side by side. The app on the left is "LiveCam". The app on the right is Google Calendar.]
+
(A picture of Cueball's imagined tablet)
:Cueball: I had an app and a calendar webpage that I wanted to show side by side, but the OS didn't have split-screen support.
+
:Cueball: I had an app and a calendar webpage that I wanted to show side by side, but the OS didnt have split-screen support.
 
:Cueball: So I decided to build my own app.
 
:Cueball: So I decided to build my own app.
  
:[White Hat and Cueball as before, but White Hat has turned to face Cueball.]
+
(White Hat and Cueball as before, but White Hat has turned to face Cueball)
 
:Cueball: I downloaded the SDK and the IDE, registered as a developer, and started reading the language's docs.
 
:Cueball: I downloaded the SDK and the IDE, registered as a developer, and started reading the language's docs.
  
:[A picture of two smartphones glued together side by side, held on a backing board. The same two applications shown earlier are open on different phones.]
+
(A picture of two phones glued together, held on a backing board)
:Cueball: ...Then I realized it would be '''<i>way</i>''' easier to get two smaller phones on eBay and glue them together.
+
:Cueball: Then I realized it would be way easier to get two smaller phones on eBay and glue them together.
 
:Cueball: On that day, I achieved software enlightenment.
 
:Cueball: On that day, I achieved software enlightenment.
  
:[White Hat and Cueball still facing each other, with White Hat's arm resting on the back of the chair.]
+
(White Hat and Cueball as before, facing each other)
 
:White Hat: But you never learned to write software.
 
:White Hat: But you never learned to write software.
 
:Cueball: No, I just learned how to glue together stuff that I don't understand.
 
:Cueball: No, I just learned how to glue together stuff that I don't understand.
Line 48: Line 45:
 
[[Category:Comics featuring White Hat]]
 
[[Category:Comics featuring White Hat]]
 
[[Category:Comics featuring Cueball]]
 
[[Category:Comics featuring Cueball]]
[[Category:Comics with color]]
 

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)