2324: Old Days 2

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
Old Days 2
The git vehicle fleet eventually pivoted to selling ice cream, but some holdovers remain. If you flag down an ice cream truck and hand the driver a floppy disk, a few hours later you'll get an invite to a git repo.
Title text: The git vehicle fleet eventually pivoted to selling ice cream, but some holdovers remain. If you flag down an ice cream truck and hand the driver a floppy disk, a few hours later you'll get an invite to a git repo.

Explanation[edit]

In this sequel to 1755: Old Days, which was released more than three and a half years earlier, the conversation continues, as if no time has passed, between (young) Cueball and (old) Hairbun about computer programming in the past. As in the first comic in this series, Cueball, having only a faint idea of just how difficult and byzantine programming was "in the old days", asks Hairbun to enlighten him on the specifics. Hairbun promptly seizes the opportunity to screw with his head.

The new claims:

  • The cloud was smaller and called a "Mainframe" and was near Sacramento.
    • This is a joke on many cloud services replacing mainframes. Both systems were or are used to provide an expansive quantity of computing capability by enabling users to use only some of the available resources, sharing with other users. In those early days, it is true that large mainframes would handle multiple people's jobs at once, using techniques like time-sharing (although they were not necessarily located near Sacramento, the capital of California.). What's more, the basic ideas behind how cloud computing used to go way back. Multics was an early time-sharing system designed to "support a computing utility similar to the telephone and electricity utilities". The idea was similar to the cloud, where anybody could just hook up and get computing service, as well as other services built into the mainframe. For this reason, many of the computer security concepts we have today - such as kernelized operating systems - come from early systems like Multics.
  • It was on the state landline.
    • In the days of mainframes, remote users often used landlines (i.e. hard-wired telephone connections) to communicate, via dial-up modems, and so users would have to disconnect for making phone calls. Even in the age of all landlines, there was never such a thing as "the state landline", imagined as an immense shared party line to which the governor would have priority access for making calls.
  • No memory protection; instead, people would call around to ask whether anyone else using an address and Microsoft's early foothold in computing was because of Bill Gates lying about his usage of addresses.
    • Memory protection protects storage from access by other programs or users. Many computer systems provide hardware and operating systems to support this. Hairbun is correct in that this sort of code was not well-developed early on. She claims that management of the memory was all done manually by agreement of the developers, and the only way to check if editing a particular address in the Mainframe was safe was physically asking all the other developers if they were already using it. In early PCs it was common to use specific memory locations, defined by the operating system or the hardware itself, to communicate with the operating system or perform particular functions such as direct graphical memory addressing rather than code compiling to pass through multiple Hardware Abstraction Layers. Her implication is that Bill Gates took advantage of this honor system to restrict people not working for Microsoft from making changes, allowing the company to take ownership of a lot of code - another fib with a grain of truth in it, based on Microsoft's excessive usage of limited standard-mandated pools. For example, out of 256 possible identifiers for partition type shared between all operating systems running on IBM PC compatible hardware, 65 entries are allocated to miscellaneous variants of FAT and NTFS systems, 38 of them originating from Microsoft itself - including esoteric variants like "Corrupted fault-tolerant FAT16B mirrored master volume."
  • "Git" was a van that drove around gathering tapes to copy, and the term "pull request" came from the van physically pulling over when signaled with an air horn.
    • Git is a distributed version control system, which manages copies of a coding project to prevent and resolve conflicts from multiple people editing the project at once. It works by having individual contributors pull the project onto their device, make their changes, and then push those changes back to be integrated into the master copy. The term "pull request" is primarily used after a user has pushed their new code and is requesting that those changes be integrated into the primary codebase, i.e. that the primary developer would pull those changes into the main branch. Bulk data used to be stored on magnetic tape; in order for version control to exist at this time, there would have to be a master tape that was copied and physically distributed to each contributor, and then the edited tapes would be gathered afterward and conflicts resolved. Hairbun claims that Git provided this service back then using vans. In reality, Git did not exist until 2005, long after digital computers and networked servers became widely accessible and the "early internet" was history. Other systems for providing the same functionality existed for decades before this, with Source Code Control System (SCCS) having been released in 1972. Even this software was implemented primarily for multiple users accessing the same system, rather than users on separate, unconnected ones. Physically carrying storage devices around (sneakernet) has sometimes been used where electronic communication or bandwidth was not available. For example, motorcycle drivers on a regular route, carrying flash drives to remote communities (see delay-tolerant networking). This form of file transfer was also the subject of comic 949: File Transfer.
  • Before terminals we all used punch cards, which were originally developed to control looms, and so the Mainframe would produce sweaters when code was run.
    • Another initial truth going into complete nonsense. It is true that some looms were controlled by punch cards (dating back to 1745), and so were early computer precursors. At the same time Charles Babbage used them around 1830 to control his Analytical Engine. However, Hairbun's statement is that because of this, the same punch card machines would run both simultaneously, such that feeding a set of cards to compile code would necessarily cause a sweater to be produced by the connected loom, which was then sent to the developer. For one: industrial looms don't produce sweaters, but fabrics (which is often patterned if punch cards are involved). And it's not likely that any punch patterns used in computer coding would be interpretable as a suitable pattern for a sweater. However, there is loom knitting which does produce patterns for sweaters.
  • (From the title text) You can still hand in a floppy disk to an ice cream truck and get an invite to a git repo a few hours later.
    • Git repo is short for Git repository, the place where all the files associated with a project are stored. Hairbun tries to convince Cueball that modern ice cream truck drivers service Git in the same way she says the vans did before and that it's still possible to give them a floppy disk (a magnetic storage device) in order to gain access to a repo. The ice cream industry has no connection to computing.[citation needed]

Transcript[edit]

[In a slim panel, Cueball and Hairbun are walking together to the right. Hairbun has her palm raised.]
Cueball: What was the Internet like in the olden days, for a developer?
Hairbun: Oh, things were very different.
[Cueball and Hairbun have stopped walking. Zoomed in on Hairbun.]
Hairbun: The cloud was a lot smaller. It was called a "mainframe" and it was near Sacramento.
Hairbun: It was on the state landline, so the whole industry paused when the governor had to make a phone call.
[Zoomed back out. Hairbun has her palm raised.]
Hairbun: There was no memory protection. If you wanted to write to an address, you would call around to ask whether anyone else was using it.
Hairbun: Often Bill Gates would say he was, even when he wasn't. That's how Microsoft got its early foothold.
Cueball: Wow.
[Zoomed back in Hairbun. Cueball responds off-screen.]
Hairbun: "Git" was originally a van that circled around gathering data tapes to copy and distribute. We all took turns driving it.
Hairbun: When you saw it coming you'd blow an air horn to request that it pull over.
Hairbun: That's where "pull request" came from.
Cueball (off-screen): Oh, neat!
[Cueball and Hairbun continue walking to the right. Hairbun has her palm raised.]
Hairbun: Before terminals, we all used punch cards, which were originally developed to control looms.
Hairbun: Early mainframes would produce a sweater each time you ran your code.
Hairbun: Eventually we got them to stop. We had enough sweaters.


comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

Discussion

I've gotta try that, see how the ice cream truck guy reacts. Wonder where I can find an ice cream truck though? 172.69.71.16 23:42, 24 June 2020 (UTC)

The above is me, wasn't logged in, would I get in trouble for fixing the signature? Mikemk (talk) 23:44, 24 June 2020 (UTC)

(@Mikemk, I recon you sorted it by adding what you did. If you'd have just changed things, probably no crime if you explained it in the edit Summary. But I'm just an IP Address, so no authority.) Anyway. The bit about a phone-call stopping all electronic business is obviously rooted in dial-up needing exclusive use of a POTS line, something that only went out with broadband piggy-backing alongside voice-calls, the respective carrier-signals now microfiltered at each end of the house-to-exchange copper cabling to let them coexist over the same circuit without blocking/overwhelming each other. Though, in this comic, it's hyperbole, overly fuzzy memory, leg-pulling and/or an alternate-history being described. 141.101.98.130 02:06, 25 June 2020 (UTC)

I would just have deleted the auto signature and put in the correct after login in. Great you signed it correctly. As there is already a discussion opn this I will not correct it. Had no one answered you I would have just put your signature where the special contribution signature is and deleted your second line... ;-) --Kynde (talk) 17:24, 25 June 2020 (UTC)


In the early days (of the ARPAnet) there was actually something that today would be classed as a "cloud service" (before the term was invented) although limited. It was a computer (in Cambridge, MA) funded by ARPA with massive amounts of storage and anybody on the ARPAnet could use it for storage (primary access was through FTP). So, cloud storage but not cloud computing. If you wanted to do something with the data you had to copy the whole file to your local disk, edit it there, and then send it back. The actual bits were stored on magnetic tape and there was an elaborate X/Y mechanism to select a tape and mount it on a tape drive, and later return it to its cubby. MAP (talk) 02:38, 25 June 2020 (UTC)

"State landline" is reminiscent of the old sailing joke where you'd ask a n00b to bring you 100 feet of shoreline. -- brad

Hm, I'd think that "state landline" is a pun on "state line". Gvanrossum (talk) 04:19, 25 June 2020 (UTC)

Also, while mainframes didn't exactly knit sweaters when they ran your code, they *did* produce physical artifacts -- reams of line printer paper. Gvanrossum (talk) 04:21, 25 June 2020 (UTC)

Kniting a sweater out of all teletyp tapes (5 holes width could work) that where common in releationship to mainframe landline interfaces 09:08, 26 June 2020 (UTC)Knitter

"It's not even likely that any punch patterns used in computer coding would be interpretable as valid sweater-creating instructions." Is anyone up to the challenge? Barmar (talk) 05:04, 25 June 2020 (UTC)

I actually very much doubt that it couldn't be interpreted. The loom will probably work just fine. It's not like those cards started with a header our CRC. It will probably not produce a meaningful pattern, but it will produce something. 162.158.158.249 10:30, 27 June 2020 (UTC)

Wouldn't a loom produce woven textiles rather than knit garments like sweaters? Seems like an additional layer of tall tales. 172.68.189.179 06:46, 25 June 2020 (UTC)

In fact, you can buy computer-programmable knitting machines - even consumer models have been around for quite a while. One short article: https://www.futurity.org/knitting-machines-software-1719232/ Cellocgw (talk) 14:08, 26 June 2020 (UTC)

It seems to me that the comic is having fun with false etymologies. There is especially one article that 'explains' a lot of idiom (in the sense of making up a fanciful story), which has been debunked by Snopes https://www.snopes.com/fact-check/life-in-the-1500s/ and the comics seems to allude to a similar situation in computer science, which is now old enough that early days are shrouded in a bit of mist out of which selective trivia is remembered (punch cards had something to do with looms) and then put together into a semi-coherent story that no longer reflects reality. (With part of the joke being that many people here will actually still know or even remember what it was really like in the 'early years', but the fewer those become, the more likely it will be that made-up 'origin stories' become accepted as true.

141.101.69.33 06:54, 25 June 2020 (UTC)

Is there a pun in the title text, regarding double meaning of driver? 172.68.226.26 07:59, 25 June 2020 (UTC) Eddy

The explanation about landlines needs to be reviewed. Landlines are still a thing, people are still using them, they're not a "stone age" technology.141.101.98.130 14:35, 25 June 2020 (UTC)

I disagree. The explanation does not claim landlines are a stone age technology. It instead says that Cueball, in this context, may associate them with an imagined stone age technology. In the same vein, it is the youngster Cueball who may believe that nobody today uses landlines for anything at all. JohnB (talk) 21:22, 25 June 2020 (UTC)

This comic is why we have children and encourage them to go into the same line of work as us: so we can tell them stories of the "good old days." My wife wants nothing to do with my stories of computers in the 70s and 80s, but my son - now also a developer like me - actually listens. Gbisaga (talk) 16:13, 25 June 2020 (UTC)

"Also it is unknown how it should know in which repo to create a pull request and whom to contact about it." I assumed it was akin to those USB dead drops. You give the disk to an ice cream man and hope that there is something interesting in the repo. Also the thrill is more in being one of the few insiders who know how to access it, not necessarily the value of the contents themselves.173.245.54.131 19:25, 25 June 2020 (UTC)

Removed - presumably the contents of the floppy disk would tell the truck driver which repo and whom to contact. Just as the requests you send over a network do now. 108.162.245.28 00:41, 26 June 2020 (UTC)
Git is a version control system, which employs and manages a centralized copy of a coding project to prevent and resolve conflicts from multiple people editing the project at once.

No. Git itself has no concept of "centralized copy". It is 100% distributed. Human developers often choose one of the copy and call it "main", "master", or whatever. But that’s only a convention humans can agree on when using this tool. 141.101.69.91 21:30, 25 June 2020 (UTC)

It might be notable that Git is while not first definitely version control system which popularized decentralized distributed version control systems. In old days, version control systems were centralized, with master copy on single server and developers fetching the code from it and then committing their changes back. -- Hkmaly (talk) 00:21, 26 June 2020 (UTC)

The circulating mag tape is very reminiscent of quotations such as this.

"Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway." — Andrew S. Tanenbaum

Related: Sneakernet and Delay-tolerant networking. In areas that are not served by communication lines/wireless communication, vehicles running on a regular route have been used as basis for network communications. 108.162.245.28 00:41, 26 June 2020 (UTC)


"And it's not likely that any punch patterns used in computer coding would be interpretable as a suitable pattern for a sweater." - Is that a CHALLENGE? 172.68.50.50 08:46, 26 June 2020 (UTC)

Sounds like it would make an interesting esolang. 172.69.63.125 13:45, 26 June 2020 (UTC)

"For example, out of 256 possible identifiers for partition type shared between all operating systems running on IBM PC compatible hardware, 65 entries are allocated to miscellaneous variants of FAT and NTFS systems, 38 of them originating from Microsoft itself - including esoteric variants like "Corrupted fault-tolerant FAT16B mirrored master volume."" ? This doesn't really seem to be pertinent. A private listing of numbers used internally by Microsoft and IBM, where Microsoft uses 15%? (Surely how many other people used is irrelevant.)--Prosfilaes (talk) 01:52, 29 June 2020 (UTC)

It isn't just "private listing used internally", it's the standard PC partition table, used by all operating systems that run on PC. "Surely how many other people used is irrelevant" is exactly this sort of Microsoft arrogance that earned them so much hate in the IT community, treating other operating systems as unimportant and irrelevant (e.g. happily overwriting the MBR with a bootloader that only allows booting Windows, making any co-existing OS inaccessible until you fix the MBR manually, being the only OS family on PC that didn't dual-boot out-of-the-box). 172.68.182.158 08:06, 29 June 2020 (UTC)

i have a floppy and an icecream truck passes by my street every week in summer...

hmmmm... An user who has no account yet (talk) 21:14, 5 September 2023 (UTC)