From: Kevin Buhr <buhr@telus.net>
To: Daniel Mose <imcol@unicyclist.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Alright, I give up. What does the "i" in "inode" stand for?
Date: 25 Jul 2002 11:06:11 -0700 [thread overview]
Message-ID: <87k7njsmwc.fsf@saurus.asaurus.invalid> (raw)
In-Reply-To: <20020725022454.A8711@unicyclist.com>
Daniel Mose <imcol@unicyclist.com> writes:
>
> Someone pointed out earlier in this thread:
> "How Newbie can one get?"
*I* said that, and it should be noted that it was completely obvious
from context that it was tongue in cheek:
| Boy, how newbie can you get? Fortunately, you've got lots of people
| setting you straight, and they've given you all those different
| answers to choose from! ;)
(Get it? The obvious, "newbie" question is answered by the experts in
a dozen different ways. HAW HAW.)
Anyway, I hope you realized that.
> I can easily cope with the Idea that the I in I-node stands for
> whatever one likes it to be. The I-node context makes very good
> sense to me when you put it to work in FS context. The name
> I-node is as I see it, close to semantic rape. (as I also find
> some of the K&R/ANSI C keywords to be )
Is "semantic rape" supposed to be good or bad?
The name "inode" (or i-node or I-node or eye-node---haw haw) doesn't
have to mean anything as long as it's conveniently short and
immediately evocative to people who use the name. On its face,
calling something a "widget" isn't very descriptive either, yet its
meaning is obvious enough in the context of GUI programming. See also
the Linux kernel's "dentry" and "skbuff".
People don't invent these shared languages to alienate newcomers.
They are invented to facilitate efficient communication and, just as
importantly, to encapsulate big, complicated ideas in tiny,
manipulable pretend-words. They facilitate *thought* (and, so, the
design process) as much as they facilitate communciation.
That's good, right?
> What bothers my self a bit more in the kernel context, and thus
> makes me an even more eager "Kernel alienate" than I believe Rob
> to be, are the "atomic_" calls/functions and their semantic origin.
This has been explained by others, but let me note that the Jargon
File is an excellent resource for these types of questions:
http://www.tuxedo.org/~esr/jargon/
It doesn't include "inode" (which falls a little outside its scope),
but it has entries for "atomic", "foo", "bar", and "foobar".
> Suppose that you do missunderstand your discussion partner frequently.
>
> So you each type in some related patches and send them of to linus(?)
> linus (or whom-ever) sends them back, saying "half is buggy" So you're
> back discussing again. This time you have half the code bugfree so
> you only need to discuss the buggy half. You discuss it, missunder-
> stand each others frequently again because of some "foos" and "bars"
> and thus send in another patch, which is refused as being
> "quarterly-buggy", and so on...
By definition, "foo"s and "bar"s are ambiguous. That's why they
should be used sparingly. Typically they're used in little examples
of shell or C code where you need a *name*, but it's exact value and
meaning aren't important, like so:
>> Hey, there's a bug in the kernel! Do "ln -s foo foo; mkdir foo"
>> and watch the fireworks.
They're rarely used to talk about new data structures except at the
earliest speculative design state.
--
Kevin Buhr <buhr@telus.net>
next prev parent reply other threads:[~2002-07-25 18:03 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-18 22:33 Alright, I give up. What does the "i" in "inode" stand for? Rob Landley
2002-07-19 4:38 ` Kelledin
2002-07-19 4:38 ` Larry McVoy
2002-07-19 4:45 ` CaT
2002-07-18 23:34 ` Rob Landley
2002-07-19 5:40 ` Thunder from the hill
2002-07-19 0:21 ` Rob Landley
2002-07-19 12:38 ` Kelledin
2002-07-19 13:09 ` Ryan Cumming
2002-07-19 7:00 ` dalecki
2002-07-19 19:58 ` Måns Rullgård
2002-07-19 20:17 ` Cort Dougan
2002-07-20 1:06 ` Kelsey Hudson
2002-07-26 14:15 ` [OT] Why Stallman says GNU/Linux (was Re: Alright, I give up. What does the "i" in "inode" stand for?) Rob Landley
2002-07-19 14:20 ` Alright, I give up. What does the "i" in "inode" stand for? yodaiken
2002-07-20 14:22 ` Georg Nikodym
2002-07-20 14:31 ` yodaiken
2002-07-22 13:10 ` Jesse Pollard
2002-07-20 6:01 ` John Kacur
2002-07-19 4:52 ` Albert D. Cahalan
2002-07-22 22:23 ` Joe DiMartino
2002-07-22 22:49 ` Hiten Pandya
2002-07-25 0:24 ` Daniel Mose
2002-07-25 1:16 ` Andrew Rodland
2002-07-25 2:43 ` jw schultz
2002-07-25 3:18 ` Christian Lavoie
2002-07-25 5:30 ` Ross Vandegrift
2002-07-25 11:08 ` Alan Cox
2002-07-25 6:03 ` Thunder from the hill
2002-07-26 8:24 ` jbradford
2002-07-28 9:01 ` Thunder from the hill
2002-08-04 15:11 ` Gert Menke
2002-07-26 12:54 ` Rob Landley
2002-07-25 18:06 ` Kevin Buhr [this message]
2002-07-26 23:39 ` Daniel Mose
-- strict thread matches above, loose matches on Subject: below --
2002-07-19 5:08 Mohamed Ghouse , Gurgaon
2002-07-19 13:21 Nicholas Berry
2002-07-19 13:32 Jesse Pollard
2002-07-30 20:07 ` Mark H. Wood
[not found] <fa.m2aun2v.khulp2@ifi.uio.no>
2002-07-20 2:20 ` Kevin Buhr
2002-07-20 2:51 Kevin Puetz
2002-07-25 13:54 Jesse Pollard
2002-07-30 20:58 Jesse Pollard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k7njsmwc.fsf@saurus.asaurus.invalid \
--to=buhr@telus.net \
--cc=imcol@unicyclist.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox