Also, help us explain Randall's What If? articles! We need to add the missing summaries and fix the existing ones. (see here)
3064: Lungfish
Lungfish |
![]() Title text: I know having so many base pairs makes rebasing complicated, but you're in Bilateria, so shouldn't you at LEAST be better at using git head? |
Explanation[edit]
![]() |
This explanation is incomplete: Created by a COPY OF COPY OF COPY OF COPY OF LUNGFISH v1.0 (FINAL - FOR REVIEW) - looks mostly sound, but could probably use an authority to sign off before clearing the tag. If you can fix this issue, edit the page! |
When Cueball confronts Lungfish about this bad habit of mismanaging its genome, Lungfish dismisses him by saying he'll just "buy more storage". This is likely alluding to when people are faced with an increasing number of files on their storage media, they just buy more storage, either by adding another media drive or paying additional monthly fees for online storage (ex: iCloud or Google Drive). Because of the relatively low cost of storage, this often seems like any easy 'solution', but doesn't actually address the problems of information fragmentation and management. As well as being an issue in their own right, a failure to deal with these can lead to a repeating pattern that ratchets up storage cost over time. If part of the process is to buy 'fresh' storage space, perhaps to attempt to rationalise the new and historic files from where they were previously, an even worse legacy of 'temporary' copies (or near-copies) of old files may end up littering various layers of storage, in ways that may later confuse matters further.
The names of the "files" reference several things about computer files:
- Older versions of Windows, when copy-and-pasting a file within the same folder, would automatically add "Copy of" to the beginning of the filename, resulting in a file named "Copy of x". (This was previously referenced in the title text of 1459: Documents.) If the resulting file was then copied, it would be likewise prepended, thus producing "Copy of Copy of x". Newer versions of Windows instead add "- Copy" to the end of filename, which produces the same effect but keeps things in roughly the same order when sorted by name. Other systems may apply their own conventions that interact badly (or fail to sensibly do so) as duplicated and manually renamed files are accessed across differing systems with differing conventions.
- Numbered labels in brackets can be produced by a couple different actions:
- If multiple files are renamed at once, all of the files will be given the same name with a number label.
- If a copied file is pasted multiple times into the same folder, it will also receive number labels in the same format. This includes copies that are also appended as such in the above points, so a newly-pasted file might end up with a "Copy of" prefix AND a "(2)" suffix, or the next available value that does not clash with documents currently held in the same location.
- If a file is downloaded from a web-page (such as webmail, or intranet/internet repository) and a file with same name already exists in the download folder, most modern browsers similarly append a number such as "(1)", or other number as necessary.
- Some users will keep older and newer drafts of a file in case of a need to revert back to an older version. This can be done with a number label (i.e. "v1", "v2", etc.) or a proper word (i.e. "draft", "edited", etc.). This is often entirely at the user's discretion. If well-defined, this can be useful. If an edit breaks something important or with mistaken saves, this can recover lost data. But it can also lead to file hoarding and revisiting older documents by accident. Such a manual method of attempting to keep sequential versions in line can easily be open to misuse and ambiguity of status.
In short, the file names "Copy of Copy of Gene v3 (Newest) (2)" and "Copy of Copy of Gene v3 (Final) (2)" strongly hint at a very poorly organized method of version tracking, as especially evidenced by both existing as 'current' versions, with a tendency of the lungfish to 'copy-paste' inconsistently, certainly explaining why it keeps editing and maintaining multiple genes instead of a single one.
However, this is absolutely not why lungfish have a large genome. While some organisms do contain many copies of genes as a diversification strategy, this mostly occurs only in some plants and single-celled eukaryotes. Lungfish have roughly the same number of genes as a human (and likely slightly fewer), and the large size of the lungfish genome is likely due to poor transposon control causing their chromosomes to fill up with junk.
The title text further compares the biology of lungfish to managing versions of files in a popular version control system called Git. Git includes a symbolic reference called "HEAD" that assists in keeping track of the version of a set of project resources that are being worked on in a particular repository; HEAD is intended to point to the branch in change history where new changes will be recorded. Rebasing, in Git, is the act of editing the lineage of project file changes in order to present a simplified history, instead of accumulating changes as they actually occurred, which may be messy. Cueball says this process is complicated due to the large number of 'base pairs' - a pun since base pairs are elements of genes, while the 'base' in file change history refers to an ancestral version of a file to which changes have been applied. Bilateria is a clade of animals characterized by embryonic bilateral symmetry, giving their bodies distinguishable "head" and "tail" ends. Since this applies to lungfish, Cueball says, in another pun, that the lungfish should at least know how to use the "head" reference in Git.
Transcript[edit]
- [A lungfish is sticking its head out of the water close to a wooden dock. It is looking up at Cueball, who is standing on the dock looking down, and they are talking.]
- Lungfish: It turns out I've been editing both Copy of Copy of Gene v3 (Newest) (2) and Copy of Copy of Gene v3 (Final) (2) so now I can't delete either one.
- Cueball: You have got to stop doing this.
- Lungfish: It's fine, I'll just buy more storage.
- [Caption below the panel:]
- Why lungfish have such enormous genomes



Discussion
Huh, first time I've seen a comic the literal minute it was posted. Weird seeing a completely empty explainxkcd page. Beanie talk 16:10, 17 March 2025 (UTC)
Got the basics of a transcript going. --DollarStoreBa'al (talk) 16:21, 17 March 2025 (UTC)
People often talk about DNA being the program that builds life, but it seems to me more as if its the static-data used by the program that builds life 172.70.90.236 16:24, 17 March 2025 (UTC)
- Agreed. I'd say RNA sequences seem more like the program that builds life, to me?
- ProphetZarquon (talk) 15:02, 18 March 2025 (UTC)
- Von Neumann architecture makes clear distinction between program and data. Biological organism don't. Sure, by 3056: RNA it would seem DNA being mostly static data makes more sense, but the distinction is just not clear. -- Hkmaly (talk) 02:47, 19 March 2025 (UTC)
- In one of my own constructed (virtually emulated) programming environments, I ensured that there was no differentiation between opcodes, parameters or data. Any particular quarter-byte/half-nibble that the program pointer pointed at could be read as a valid instruction. The requisite parameters to that code was what immediately followed, being pointers (anywhere in the array of quarter-bytes, inclusive of over the current opcode or its parameters), to the data that the operation operated upon.
- (A useful debugging method (assuming you were trying to hand-craft something that worked just right, without (overly) corrupting its own code), or just entertainment (using deliberately bad code, or even starting with just random noise and seeing whether some consistent abstract form emerged from successive iterations), was to give bits that got prodded as instruction a red hue, bits that was prodded as param would gain green and bits accessed as data got the blue colour component. Which would mix into a useful matrix of all eight '3-bit colours', from black (never used) to white (fulfilled all three roles). Or, with a 'colour-decay' process (e.g. 24-bit colour, prodding gives the given colour channel the value 255, each n-ticks all the non-zero colour-bytes are decremented by one), a dynamic ongoing process could be observed. Though not necessarily understood, admitedly!)
- It was not lost on me that D(/R)NA is also essentially quarter-byte per base-pair (though, of course, it actually does most of its more obvious work grouped in codons, i.e. 6-bit before you add in other biological complexities), nor that I was indeed folding this 'toy' environment into some of my slightly less serious attempts at 'genetic programming' (additive reproduction/recombination really had to be externally mediated to make it 'useful', along the lines of the more advanced forms of Darwinian Poetry in all respects but the fitness-evaluation). I really should revisit this whole project, now that you remind me. I can probably do more with it than I was able to 30 years ago. As well as learning a few more biology/coding tips and tricks, in passing, since then. 172.69.43.240 12:08, 19 March 2025 (UTC)
- Von Neumann architecture makes clear distinction between program and data. Biological organism don't. Sure, by 3056: RNA it would seem DNA being mostly static data makes more sense, but the distinction is just not clear. -- Hkmaly (talk) 02:47, 19 March 2025 (UTC)
Anyone know how to add categories? If so, I can handle those. --DollarStoreBa'al (talk) 16:25, 17 March 2025 (UTC)
I was thinking of creating the category Genetics as a subcategory to biology, if it hasn't already been done. --DollarStoreBa'al (talk) 16:29, 17 March 2025 (UTC)
Hi chat, we got a new undiscovered xkcd page to talk about: Dot. Any info would be helpful. Caliban (talk) 16:52, 17 March 2025 (UTC)
- It's a flashing dot.172.71.178.157 10:08, 20 March 2025 (UTC)
"a common issue when coding" or it could be just editing a doc, a picture, a video, etc.172.71.151.21 17:09, 17 March 2025 (UTC)
- I DON'T KNOW HOW TO CODE, OKAY??? -- DollarStoreBa'al (talk) 17:10, 17 March 2025 (UTC) (please sign your comments with ~~~~)
Somewhat related, is is quite common for someone to have filenames like "Thesis (final)", "Thesis (really final)", "Thesis (really really final)" (instead of "Thesis" it might be "Presentation"). I have just checked the RCS log of my MSc Thesis: the 2.16 version was the final, but then there were the 3.1 and 3.2, which were the correction of two typos. Rps (talk) 18:48, 17 March 2025 (UTC)
- Using words like "Final" is optimism. So is "Newest". Version numbers and dates are the correct way to name things. -- Hkmaly (talk) 02:47, 19 March 2025 (UTC)
- But remember, then, that you're only freely allowed to fork off new branches when you get to certain version numbers and can properly justify changing the version digits. 172.69.195.179 11:16, 19 March 2025 (UTC)
Anybody else notice that the science in this one is completely incorrect? I added a note, but I'm curious why the comic doesn't instead mention something like Trichomonas or rice/cotton/bread wheat, which actually *do* feature widespread gene duplication User:tofudragon7
- I think the incorrectness of the science is the basis of the joke 172.70.206.39 14:10, 18 March 2025 (UTC)
"append "Copy of" to the start of the filename" Append comes after. I think the word we want is "prepend". Not as familliar as append, but Google reports wide and serious usage. A further note: MS's hack ruins the idea of alphabetized filenames, all the "Copy of" in one place. --PRR (talk) 21:24, 17 March 2025 (UTC)
- I think the word we actually want is 'add', since 'prepend to the start' would be tautological.141.101.99.4 10:30, 18 March 2025 (UTC)
- The older and still probably more common meaning of "append" is just "attach", with no particular implication of where (e.g. https://en.wiktionary.org/wiki/append#English). The narrower sense of "add at the end", and the back-formation "prepend" for "add at the beginning", are relatively recent, and mostly computing jargon. Apparently, there's also occasional use of "postpend" as the complement of "prepend", but I don't think I've ever come across it in the wild.
- So, either "append to the start" or "prepend" is fine, I think.
- Or go for maximum redundancy: "prepend a prefix to the start before the existing text" :P - IMSoP (talk) 15:29, 18 March 2025 (UTC)
- 'add to the start' is still better from a Plain English/Thing Explainer perspective, though.172.71.241.51 16:17, 18 March 2025 (UTC)
Anecdotes: I've got both "5etools (3).json (16)" & "5etools (9).json" on my phone right now. ProphetZarquon (talk) 15:07, 18 March 2025 (UTC)
April fool's comic is coming soon and I simply can't wait. DollarStoreBa'al (talk) 19:16, 18 March 2025 (UTC)
It may be a coincidence, but just recently genetically modified wolly mice were born, and now Randal writes a comic about genetic manipulation. Is there a connection between these two? F beer (talk) 07:51, 19 March 2025 (UTC)