Difference between revisions of "2531: Dark Arts"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Transcript: categories)
(Explanation: Hard links are feature of many filesystems)
Line 16: Line 16:
 
A filesystem is the part of a computer's {{w|operating system}} that handles the organisation of data in persistent storage, usually splitting it into files and directories. It can be a very complicated piece of software. Because of this, it is very easy to make mistakes when interacting with it outside of the most common operations most users would be familiar with, and because it controls practically all of a user's data on a given machine, mistakes made can have very serious consequences (e.g., loss of data). This is probably why Cueball is reluctant to mess with them.
 
A filesystem is the part of a computer's {{w|operating system}} that handles the organisation of data in persistent storage, usually splitting it into files and directories. It can be a very complicated piece of software. Because of this, it is very easy to make mistakes when interacting with it outside of the most common operations most users would be familiar with, and because it controls practically all of a user's data on a given machine, mistakes made can have very serious consequences (e.g., loss of data). This is probably why Cueball is reluctant to mess with them.
  
{{w|ext4}} is a filesystem in popular use with the {{w|Linux}} operating system kernel. One of its features is the concept of {{w|hard_link|hardlinks}}, which allow two unrelated filenames to refer to the same underlying file. These can be particularly tricky to use, as in nearly all respects they look like regular files, but modifying them can have effects that are not immediately obvious (i.e. by changing the contents of another file). Hardlinks and their misuse have been referenced in xkcd before, as in [[981: Porn Folder]].  
+
{{w|ext4}} is a popular filesystem used with the {{w|Linux}} operating system kernel.  
 +
 
 +
{{w|hard_link|Hardlinks}}, allow two filenames to refer to the same underlying file. These can be particularly tricky to use, as in nearly all respects they look like regular files, but modifying them can have effects that are not immediately obvious (i.e., by changing the contents of another file). Hardlinks and their misuse have been referenced in xkcd before, as in [[981: Porn Folder]].  
  
 
The title text hints at an experience Cueball or [[Randall]] has had in the past (his own "tragic backstory", if you will), involving hardlinks on ext4. He thought he had found an ideal use case for them, one which presumably avoided most of their pitfalls, but still, 6 months later, ends up having to troubleshoot some inscrutable bug arising from his decision.
 
The title text hints at an experience Cueball or [[Randall]] has had in the past (his own "tragic backstory", if you will), involving hardlinks on ext4. He thought he had found an ideal use case for them, one which presumably avoided most of their pitfalls, but still, 6 months later, ends up having to troubleshoot some inscrutable bug arising from his decision.

Revision as of 16:58, 21 October 2021

Dark Arts
You think, 'okay, THIS is an ideal use case for hardlinks!' but then 6 months later you're doing some extremely cursed Google search like 'javascript ext4' and wondering where things went wrong.
Title text: You think, 'okay, THIS is an ideal use case for hardlinks!' but then 6 months later you're doing some extremely cursed Google search like 'javascript ext4' and wondering where things went wrong.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: Created by a V8-BASED EXT4 FUSE DRIVER - Please change this comment when editing this page. Do NOT delete this tag too soon.
If you can address this issue, please edit the page! Thanks.

In this comic, White Hat has presumably just asked Cueball to perform some task involving filesystems. Cueball responds to this request with an extremely melodramatic monologue, referring to knowledge of the subject as "dark arts" and stating he'd rather not have anything to do with them, as they are too dangerous.

This reaction is reminiscent of a fairly typical scene in e.g. superhero movies, where a person with supernatural powers explains they prefer not to use them, as their use is likely to have negative effects that outweigh the positive ones. Often this is tied to a tragic backstory of the character, where the use of their powers previously caused them or someone close to them much pain and suffering.

A filesystem is the part of a computer's operating system that handles the organisation of data in persistent storage, usually splitting it into files and directories. It can be a very complicated piece of software. Because of this, it is very easy to make mistakes when interacting with it outside of the most common operations most users would be familiar with, and because it controls practically all of a user's data on a given machine, mistakes made can have very serious consequences (e.g., loss of data). This is probably why Cueball is reluctant to mess with them.

ext4 is a popular filesystem used with the Linux operating system kernel.

Hardlinks, allow two filenames to refer to the same underlying file. These can be particularly tricky to use, as in nearly all respects they look like regular files, but modifying them can have effects that are not immediately obvious (i.e., by changing the contents of another file). Hardlinks and their misuse have been referenced in xkcd before, as in 981: Porn Folder.

The title text hints at an experience Cueball or Randall has had in the past (his own "tragic backstory", if you will), involving hardlinks on ext4. He thought he had found an ideal use case for them, one which presumably avoided most of their pitfalls, but still, 6 months later, ends up having to troubleshoot some inscrutable bug arising from his decision.

Javascript is a programming language most often associated with web pages. Because of this it is not usually interacting directly with a computer's filesystem, as allowing arbitrary websites to access the filesystem is widely considered an extremely bad idea[citation needed], from a security standpoint. It is possible to run Javascript directly outside of a browser -- in which case it does have access to common filesystem operations, and even theoretically to the internals of the filesystem -- but since it is a high-level language with poor support for working with the data structures a filesystem uses, this would be a painful, "cursed" way to go about things.

An experienced IT professional will be reminded of their own experiences and mishaps with non trivial file system configurations. Beyond hardlinks, fileystems may have a number of features a normal user or even an admin are not aware of. Such features are prone to bugs, poor documentation or poor integration with other system tools. For example:

  • Symbolic links can be easily confused with hard links. While symbolic links work "everywhere" hardlinks are generally limited.
  • Compressed filesystems can cause unexpected side effects in performance, quota management and disk fragmentation.
  • Sparse files and shallow copies (copy on demand).
  • Live filesystem backup and file locking.
  • Read only filesystems.
  • 'Virtual' filesystems, like memory backed and file backed file systems, backed by dynamic data or databases.
  • 'Overlay' file systems where a read only portion is overlayed and partially shadowed by another file system.
  • File caching for read or write operation.
  • Syncing file systems.
  • Many, many more.

"In another age" might refer to the fact that these kinds of detailed manipulations (and forgetting about them six months later) were common in the days before containers, immutable server pattern, serverless, etc. In fact, one of the goals of these more modern deployment methods is to AVOID this kind of detailed maintenance. Today, for example, the exact structure of a Docker image can be determined by looking at the Dockerfile. Even configuration tools like Chef and Ansible help, because they provide Infrastructure as Code and you can look at the code to see what kinds of manipulations need to be done (vs. forgetting that time way back when that you did them manually).

Transcript

[Cueball and White Hat stand in a slightly darkened room, with a jagged circle of light centered on Cueball emanating from the floor and light reflecting onto White Hat's face. Cueball holds his arm out with his palm facing towards White Hat.]
Cueball: Long ago, in another age, I mastered these dark arts.
Cueball: But I now endeavor to live my life such that I never need them.
Cueball: Their power leads only to ruin.
[Caption below panel]
My response whenever anyone asks me to mess around with filesystems


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

Discussion

Whoo, my first "first explanation". It's not a particularly thorny comic but my explanation could still use some judicious editing I'm sure. Esogalt (talk) 06:51, 21 October 2021 (UTC)

I added a "citation needed" to the claim that letting arbitrary websites modify your filesystem is a Bad Idea, because I couldn't resist >.< 172.68.132.74 08:40, 21 October 2021 (UTC)

[citation needed] 162.158.88.113 10:45, 21 October 2021 (UTC)

The previous comment is almost worth an XKCD comic of its own. --162.158.203.24 10:10, 21 October 2021 (UTC)

WTH did Randal do that lead him to put ext4 and javascript in the same search, and why does he think hardlinks are the problem with such a cursed search? 172.69.69.182 10:17, 21 October 2021 (UTC)

Which specific IT professional is the explanation referring to? 141.101.105.35 12:40, 21 October 2021 (UTC)

None in particular, just in general. 172.69.90.11 14:01, 21 October 2021 (UTC)
It's an expression. It's essentially the same as saying "Any experienced IT professional", but a little more stylistic. That whole sentence seems slightly gatekeeper-ish to me anyway. Esogalt (talk) 13:51, 21 October 2021 (UTC)

As an added wrinkle, the alt text's search is cursed because there is a javascript framework completely unrelated to the ext filesystem that is also called ext, which had a version 4 and would thus muddy the waters of the search. -- 172.70.178.51 13:15, 21 October 2021 (UTC)

Explanation should include why the alt text's search is "cursed." Seems like this comment hints at it, but I don't know enough about the topic to know if that is the full curse. 162.158.107.234 17:22, 21 October 2021 (UTC)
It's mentioned in the paragraph about Javascript, because I saw the cursedness coming mainly from the combination of JS (high level) with ext4 (low level). It could probably be explained more directly and in more depth though. Esogalt (talk) 17:41, 21 October 2021 (UTC)
See also filesystem driver for node.js with a warning that it will fail if the device capacity exceeds 8192 Terabytes due to Javascript way to represent integers. Alexcohn (talk) 06:48, 26 October 2021 (UTC)

XKCD and its weirdly fitting timing in relation to my life again… Just 4 hours earlier, I had dealt with hardlinks in a Bash script and produced things like cd "$(readlink -f "$(pwd)")". Fabian42 (talk) 13:53, 21 October 2021 (UTC)

I believe that Microsoft's implementation of OneDrive is cursed by evil intention. The intention (and default behavior) is to keep the actual file contents in the cloud with nothing but a reference on the machine in my control. The presumed benefit is that it is easy to have the files available on any machine the user logs into ... because they aren't really on the machine at all. Other perceived benefit is it saves space on the local machine. The evil consequence is that files are unavailable when the machine is offline. My opinion is that most users almost never need their OneDrive files on anything but their primary machine, and would be pretty sore if the files in the cloud got wiped out with no backup on their primary machine. I presume that most people view the files on their machine as primary and view the cloud copies as their backup. Rtanenbaum (talk) 22:23, 21 October 2021 (UTC)

And don't forget that Microsoft will definitely search through the stuff you stored on OneDrive. You may find out that something you stored was declared dangerous by them and deleted ... -- Hkmaly (talk) 02:36, 22 October 2021 (UTC)

I don't think there is anything dark or problematic on most stuff mentioned in the article. And they generally work without problems on Linux. On the other hand, in most of movies where hero says something like this I think he's chicken-hearted coward and the mentioned dark arts is cool think I would like to know. So, maybe I'm just already on dark side. -- Hkmaly (talk) 02:36, 22 October 2021 (UTC)

File Systems! GRRRR!! File Systems Management was the class that kept me from getting a 4.0 GPA while getting my degree in Computer Science. Oh well, I was probably doing only C work, so I was happy to get the B. That was a long time ago, and I wound up not doing anything at all involved with programming or anything else related to Computer Science.... 172.70.130.87 11:09, 22 October 2021 (UTC)

I use game mod managers that use hard links frequently. Never had a problem with those, but as that is below-the-hood, it might not count. My problems with partition tables as a dual booter, including cloning, boot records etc, have been far worse. 141.101.105.47 17:34, 22 October 2021 (UTC)

This was the way every smart admin managed software updates on servers in the days when disk space was measured in MegaBytes and the network was a 10MB/s shared token ring --162.158.159.17 18:40, 22 October 2021 (UTC)


So I feel like this comic has something to do with this study : https://linustechtips.com/topic/1375321-report-suggests-many-gen-z-students-do-not-know-how-to-use-a-basic-file-directory/ J (talk) 10:33, 6 November 2021 (UTC)

Cursed

I've thought this before (not sure if I ever wrote it anywhere, perhaps I did in the now long-deceased fora), but given the reappearance of 'cursed'ness in fairly recent comics, there maybe should be a Cursed category (of which Category:Cursed Connectors, recently created for a close run of four items, would obviously be a subset, if not members in their own right). Cursedicity seems to be a recurring Munroe meme (I counted more than a dozen distinct examples from a quick search), so consider this a suggestion. For all things mentioned/depicted/contemplated as cursed. 141.101.98.199 19:16, 21 October 2021 (UTC)

Examples

Are there some examples to give of characters with great powers that they don't use because reasons? Perhaps a TV Tropes page or three in this area? I actually wondered if the dialogue in this xkcd was mostly a direct quote from something. Start with these maybe. But I'm hoping that someone recognises a scene. https://tvtropes.org/pmwiki/pmwiki.php/Main/RetiredBadass https://tvtropes.org/pmwiki/pmwiki.php/Main/DangerousForbiddenTechnique

The first found from "Obi-Wan Kenobi", who appears to be a crazy hermit although later it's established that he lives on Tatooine specifically to protect Luke Skywalker, secretly. The second, found from the first. But halfway down "Dangerous techniques", I haven't found an example that precisely fits this comic. I did skip the "anime and manga" entries, which are said to be many. Oh, wait: under Literature, "Babylon 5" (spin off books evidently) mentions a telepath interrogating someone by mind reading when they are dying or brain dead. That is unhealthy, and actually does correspond to some scenarios of struggling with data filesystems: rescuing data from a dead disk. 141.101.107.43 11:29, 22 October 2021 (UTC) Robert Carnegie [email protected]

Non-mystical examples I thought of were CPO Ryback (Under Siege, though not so much regretting past expertise as intending to settle back into 'normal' trivial service until forced) or John Rambo (First Blood, pushed too far by an unlucky sadist ignorant of the nature of the dragon he was poking at). For "You're messing with forces you do jot understand" I was thinking more Indianna Jones (having witnessed, and expected shortly in advance, the Nazis' and collaborator's demise, he would have been concerned about the safety of Top Men if he believed there were any).
I haven't yet gone to the TVTs site links, as that way lies similar dangers</inMyPortentousVoice!> that I'm reluctant to reawaken, but arcane and ancient knowledge is always ripe for meddling with by an upstart, with elderly mentors who are the (surviving) past-meddlers generally being the voice of caution (rightly or wrongly, according to how the plot should twist - depends if the Upstart is the One Who Was Prophecised But Nobody Knows It, or not) and perhaps even the (ultimately ineffective?) Guardian Of The Thing whether that's a ring or tome or a mystical stone. 141.101.107.29 15:02, 22 October 2021 (UTC)

Relatable comic

This is actually how I feel whenever someone asks for help dealing with proprietary software or hardware. Remote functionality that could be local, service which supplants intrinsic functionality, wireless for devices that don't wander (looking at you, bike shifters), trust in place of secure practice, gimmicks used to distract from downgraded end-user agency, downgrades pushed as security\simplification, these are things that drove me away from modern computing, 'smart'phones, automobiles, & other mass-market junk of today. The whole market of consumer goods & services is full of bad practices, & bad practices are contagious. Now when someone asks me "do you work with computers" I shake my head & toss up my hands & say "I try not to." ProphetZarquon (talk) 14:26, 22 October 2021 (UTC)

So relatable. Today I had to type mount -o remount,rw /dev/sda1 / into a single user shell, which I'm pretty sure I hadn't been in this entire millennium, because I forgot my stupid password that I haven't even had to use for at least a year, and now I can't sleep. 172.68.132.114 06:08, 23 October 2021 (UTC)