344: 1337: Part 4

Explain xkcd: It's 'cause you're dumb.
Revision as of 04:16, 13 September 2012 by Lcarsos (talk | contribs) (Created page with an explanation, included transcript, added links to wikipedia and categories)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
1337: Part 4
Mrs. Roberts would have gotten up sooner, of course, but she was busy piping find ~ and find ~nomad into xargs shred, just in case.
Title text: Mrs. Roberts would have gotten up sooner, of course, but she was busy piping find ~ and find ~nomad into xargs shred, just in case.


Jon Lech Johansen, also known as DVD Jon, is famous for DeCSS a DVD decryption program that removes the copy protection from commercial DVDs. The Motion Picture Association of America, also known as the MPAA, was not amused. Both the MPAA and the RIAA use the Digital Millenium Copyright Act, shortened to DMCA, as a kind of brute club to silence "infringements" on their copyright. In a perfect world, the DMCA provides safe harbor protection to websites and consumers to make fair use of copyrighted content while also affording copyright owners the ability to protect their works from being pirated. In this world, this means that any content protection system, no matter how weak and poorly executed, cannot be circumvented and discussion of circumvention is illegal as well.

Of course, Richard Stallman, founder of the GNU Project and stalwart defender of freedom and copyleft, cannot stand for this kind of repression of freedom.

The title text is talking about a Linux-ism. In Linux (and all Unix derivatives) ~ is a symbol for a user's home directory (usually /home/<username>). xargs shred is an application that recursively walks a filesystem and securely erases every file it finds with pseudorandom data. This is different from simply deleting a file, which merely removes the pointer in the filesystem's record tables to the file's location on the hard disk. The latter can usually be recovered from, secure delete however requires physically taking apart a disk and reading individual bits for remaining magnetic charge to attempt to reconstruct what was there.


As time passed, Elaine intensified her hacking work, anonymously publishing exploit after exploit.

[Elaine is sitting under tree, typing on a laptop.]

To crack open proprietary hardware, she teamed up with one of the top experts in signal processing and data transferring protocols.

[Elaine, wearing a backpack, is walking up to a door where a woman is greeting her]

Elaine: Hi, mom.

Mrs. Roberts (Elaine's mom): Hello, dear. Did you have fun?

They were an unstoppable team.

[Elaine is on the floor with her laptop and Mrs. Roberts is on her computer at a table]

Elaine: I finished the CSS decryptor.

Mrs. Roberts: Good, dear. I'll send it along to Jon.

And were eventually noticed.

[Two men in black hats arrive. One holds a briefcase that reads RIAA and the other holds a briefcase which reads MPAA]

RIAA man: Game's over.

MPAA man: You're coming with us.

[Elaine stands up]

Elaine: Oh, are we?

[Mrs. Roberts is still sitting at her computer, typing]

Mrs. Roberts: Now now, Elaine -

<<shink>> [Elaine pulls a knife out]

<<shing>> <<shing>> [The two men each pull a katana out of their briefcase.]

Mrs. Roberts: Don't let them provoke you, dear.

Men: We don't want to hurt you, Ma'am.

Mrs. Roberts: Don't by silly. Record company employees can't just go into houses and slice people up.

RIAA Man: Ah, so you haven't read the DMCA.

MPAA Man: Title IV, Section 408: Authorization of Deadly Force.

[Voice comes from off-panel]: Hark!

[Everyone looks surprised. Mrs. Roberts stands.]

[Bearded man enters, bearing two katanas.]

Bearded man: Cease this affront to freedom, or stand and defend yourselves!

MPAA Man: Stallman!

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


It's the piping of "find ~" (all files in Mom's current login's home directory) and "find ~nomad" (all files in the home directory of user "nomad", presumably that's Elaine's account also on Mom's machine, having recently been on a 'life journey' of self-discovery and learning) through the shred command that is doing the directory recursion, as part of the "find" command's default behaviour (IIRC). I've never used the shredding command myself, but I'd say that it's operating on the list given it by the "find", rather than doing the directory-burrowing itself, for which I'd expect parameters of a "~/* ~/.* -r" (or "-R" or "-s") type of variant to activate the "all files, in all directories from here" inspection... ICBW. Best to check the man pages, though... (Also Mom's obviously got maximum rights for herself, or is drilling through su, as I'd expect.) 08:30, 19 June 2013 (UTC)

"find" is passed a variety of arguments - an argument that is not part of an optional parameter (i.e. -name \*.php would specify all files ending with ".php" - the backslash is used to prevent bash or another shell from expanding the parameter into a full list of .php files) is treated as a file or directory to begin searching. So "find ~" would begin searching in the user's own home directory; "find ~nomad" would begin the search in the home directory of the user "nomad". All file and directory names are sent to stdout (standard output).
Piping the result requires the use of the | symbol (shift-backslash). It's used to pipe data from stdout to stdin (standard input).
"xargs" is a Linux command that constructs command lines by reading a list of files from stdin and treating each with a command (and optional arguments) specified after "xargs".
"shred" is a program that takes a filename as a parameter and overwrites the file repeatedly to keep the original contents, which can be discerned using increasingly-expensive hardware solutions, from being pieced together.
With this in mind:
find ~ | xargs shred
1) finds all files (and directories) in the hierarchy of the user's home directory, and sends the list to stdout;
2) the list gets piped to "xargs", which
3) passes each file to "shred" for shredding.
Issues regarding symbolic links, filtering directory names from the operation, and modifying the operating parameters of "shred" will be left to the aspiring sysadmin to discover for theirself. Thokling (talk) 13:42, 21 September 2013 (UTC)

It should be noted that if you want to have a file system that can shred data reliably you will need to use a file system without journaling or it is possible some of your data can be stored in the journal(The journal describes the nature of a write and its prior state before writing to it in order to safeguard the file system against unexpected shutdown).

What is more a lot of modern hard drive detect bad sectors and move data elsewhere, leaving the old data in a sector marked as "do not use". This data will not be securely deleted from these sectors and can be manually accessed by forensics later.

The commonly accepted solution is to use block device level encryption to prevent sensitive data from ever being written.

In short the shred command can give someone an unrealistic sense of security. I don't think this is relevant to the comic but I just wanted to share what I knew on the subject. 08:52, 1 November 2013 (UTC)

"Title IV, Section 408: Authorization of deadly force." Does that make any sense in the real world? I don't see an explanation about this remark. Daniel Carrero (talk) 09:48, 10 April 2014 (UTC)

Someone should put in that Stallman was given a Katana. 00:29, 13 June 2014 (UTC)

And also that katana-wielding Stallman comes from 225: Open Source. 22:29, 6 April 2015 (UTC)

find can take multiple path arguments so she could just used find ~ ~nomad. 02:19, 14 September 2015 (UTC)

Were people still using the Creative Nomad range of MP3 players at this point? Because the linux driver for the Nomad ran under a user account named "nomad", and the fact that it's the RIAA coming after them implies that MP3s are what they're interested in. 05:32, 16 September 2015 (UTC)