monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: Branch naming conventions


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Re: Branch naming conventions
Date: Sat, 11 Dec 2004 14:13:14 -0800
User-agent: Mutt/1.5.6+20040907i

On Fri, Dec 10, 2004 at 05:31:13AM -0800, Nathan Myers wrote:
> On Fri, Dec 10, 2004 at 12:18:56AM -0800, Nathaniel Smith wrote:
> > On Thu, Dec 09, 2004 at 09:22:25PM -0800, Nathan Myers wrote:
> > > (While we're on the subject of craziness, that reversed-domain-name
> > > naming scheme was whacked when Java adopted it, and it's just as 
> > > whacked here.  Is there any actual use for making users reverse them 
> > > by hand?  Computers are much better at that sort of thing.)
> > 
> > So you're proposing names like
> >   changesets.monotone.venge.net
> > which is a branch off of
> >   monotone.venge.net
> > ?  That seems even more confusing, at least to me?
> 
> It's something that you and every other programmer who might possibly
> use monotone is very, very used to.  The only people who have ever 
> even seen the other are Java coders.  (Any of _them_ who don't think 
> it's whacked will be managers or Walmart stockboys soon enough.)  

Umm, err... okay.

> If you suggest using domain-name conventions, support domain-name 
> conventions.  If you don't want to support domain-name conventions, 
> suggest something else consistent.  (BTW, "Nathaniel Hawkins Smith" 
> is in domain-name order.  Has it always seemed terribly awkward and 
> confusing?)

Huh, great example.

However, with a bit of argumentation, I think it's actually an example
for my side ;-).

So the thing about names is, they're only very marginally
hierarchical.  There are only two parts to them (plus the meaningless
middle name, which seems in practice used _only_ to provide a few more
bits when first+last name isn't enough for disambiguation -- this
would suggest that correct "domain name order" for that name would be
"Hawkins Nathaniel Smith", but anyway, I'll ignore middle names).  And
we don't use these parts as a hierarchy -- both halves have their own
special vocabulary and privileged set of uses.  (For instance, which
piece you count as primary depends on politeness -- in a formal
setting, it's "Mr. Smith", for disambiguation falling back on "Mr.
Nathaniel Smith"; but in an informal setting, it's "Nathaniel",
falling back on "Nathaniel Smith".)

So!  Based on that, I was going to say that names are basically
irrelevant, but then I realized something -- there are times when we
deal with names in a heirarchical way.  It's when we're dealing with
large databases of them, and interesting operations are things like
"display these people in a useful order", or "find people with this
name".  And what do we do?  We completely ignore generations of
precedent and twist the names around so the last name is first.  Look
at any card catalog, tax form, credit card application, ... whenever
humans want to use computers to deal with names, they explicitly
overthrow "DNS order" in favor of, oh, let's call it "filesystem
order".

...I think I've been writing too many final papers, I go into essay
mode at the drop of a hat.  Anyway, I dunno how convincing anything
said about human names is in the first place, but people's experience
with them seems to argue for the current ordering more than the
reversed ordering.  And that's because hierarchy is most naturally
expressed as getting more specific on the right, since makes things
like sorting and browsing and fuzzy searching so much more palatable.

I'd be happy to use something besides domain-names, but I don't know
of many other globally-unique identifiers.  We could all prefix our
branches with graydon's ethernet card's MAC address or something, or a
pile of random bits, but... eh.

-- Nathaniel

-- 
The Universe may  /  Be as large as they say
But it wouldn't be missed  /  If it didn't exist.
  -- Piet Hein




reply via email to

[Prev in Thread] Current Thread [Next in Thread]