From: Jonathan Morton <chromi@cyberspace.org>
To: Helge Hafting <helgehaf@idb.hist.no>, esr@thyrsus.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Background to the argument about CML2 design philosophy
Date: Mon, 21 May 2001 12:32:49 +0100 [thread overview]
Message-ID: <l03130304b72ea286711e@[192.168.239.105]> (raw)
In-Reply-To: <3B08DC75.C466BA66@idb.hist.no>
In-Reply-To: <20010518105353.A13684@thyrsus.com> <3B053B9B.23286E6C@redhat.com> <20010518112625.A14309@thyrsus.com> <20010518113726.A29617@devserv.devel.redhat.com> <20010518114922.C14309@thyrsus.com> <8485.990357599@redhat.com> <20010520111856.C3431@thyrsus.com> <15823.990372866@redhat.com> <20010520114411.A3600@thyrsus.com> <16267.990374170@redhat.com> <20010520131457.A3769@thyrsus.com>
>> order to hold down ruleset complexity and simplify the user
>> experience. The cost of deciding that the answer to that question is
>
>The user experience can be simplified by a NOVICE/EASY/SANE_DEFAULTS
>option, and perhaps a HACKER option for the really strange
>but _theoretically_ ok stuff.
Having now briefly looked at the language constructs first-hand, I can see
two ways to go about this:
1) Have a HACKER symbol which unsuppresses the "unusual" options, and
suppresses the "generalised" ones (like: "build all the sound drivers for
my hardware, as modules"). This is kinda how it would be implemented in
CML1, cf. EXPERIMENTAL.
2) Have a HACKERS submenu system which contains all the derivations that
could *possibly* be un-defaulted, and allow our intrepid hacker to
explicitly force each to a value or leave unset. Leaving unset means the
derivation holds, forcing it to a value will explicitly enable or disable
the option along with any hard dependencies. Head this submenu system with
a big banner that says "FOR EXPERTS ONLY", or suppress it using an
"Experts" switch.
Is there already a language construct to support the difference between a
"derivation" and a "dependency"? Yes, it's the difference between "unless
FOO==n default BAR==y" and "require FOO!=n implies BAR==y" respectively (or
something to that effect, if my syntax is wrong flame gently please!).
With that in mind, the front-end UI could implement Option 2 easily, by
presenting a mode which automatically collects defaulted but otherwise
hidden symbols, and reveals them to the user when set to "hacker" mode.
I'm going to assume for now that CML2 saves two files - one storing a
relatively small number of symbols (which is strictly limited to those
explicitly set by the user), and one containing the full set for
consumption by the Makefiles. If this is the case, then if a "hacker" type
switches something explicitly then it'll stay there even if the default
changes for that option in a future kernel. Meanwhile, Aunt Tillie gets
the changed default option applied with no extra effort. "make oldconfig"
might as well be a thing of the past for certain purposes, although it
should still be kept as a way of reminding people what the new options are.
Incidentally, in this scenario, if we have "enable driver for device FOOBAR
[NEW] [y/m/N]:" then pressing Return should *not* mark the symbol as
"explicitly set" but left alone because "user accepted the default". If
they pressed "N", then that has the same effect but is saved explicitly for
future kernels, regardless of any defaults change for that option.
Hope this makes sense and I'm not being a stark raving loonie...
--------------------------------------------------------------
from: Jonathan "Chromatix" Morton
mail: chromi@cyberspace.org (not for attachments)
big-mail: chromatix@penguinpowered.com
uni-mail: j.d.morton@lancaster.ac.uk
The key to knowledge is not to rely on people to teach you it.
Get VNC Server for Macintosh from http://www.chromatix.uklinux.net/vnc/
-----BEGIN GEEK CODE BLOCK-----
Version 3.12
GCS$/E/S dpu(!) s:- a20 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$ V? PS
PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r++ y+(*)
-----END GEEK CODE BLOCK-----
next prev parent reply other threads:[~2001-05-21 11:34 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-05 23:27 CML2 design philosophy heads-up Eric S. Raymond
2001-05-06 12:58 ` Alan Cox
2001-05-07 17:59 ` Tom Rini
2001-05-07 21:57 ` Alan Cox
2001-05-08 9:44 ` Eric S. Raymond
2001-05-08 12:42 ` Helge Hafting
2001-05-08 1:31 ` Eric S. Raymond
2001-05-08 1:43 ` Tom Rini
2001-05-08 1:56 ` Eric S. Raymond
2001-05-08 6:57 ` David Weinehall
2001-05-08 7:00 ` Eric S. Raymond
2001-05-08 6:59 ` Jamie Lokier
2001-05-08 7:15 ` Eric S. Raymond
2001-05-08 14:15 ` Rogier Wolff
2001-05-13 14:22 ` Jes Sorensen
2001-05-13 15:25 ` Eric S. Raymond
2001-05-15 14:43 ` Pavel Machek
2001-05-17 7:26 ` Eric S. Raymond
2001-05-17 7:47 ` Keith Owens
2001-05-17 9:35 ` Michael Meissner
2001-05-17 16:34 ` Tom Rini
2001-05-18 7:43 ` Eric S. Raymond
2001-05-18 8:20 ` Alan Cox
2001-05-18 14:53 ` Eric S. Raymond
2001-05-18 14:06 ` David Lang
2001-05-18 15:09 ` Keith Owens
2001-05-18 15:19 ` Arjan van de Ven
2001-05-18 15:39 ` Alan Cox
2001-05-18 15:58 ` [kbuild-devel] " Eric S. Raymond
2001-05-18 16:01 ` Alan Cox
2001-05-18 16:34 ` Eric S. Raymond
2001-05-18 16:43 ` Christoph Hellwig
2001-05-18 16:45 ` Arjan van de Ven
2001-05-18 17:17 ` Eric S. Raymond
2001-05-18 17:22 ` Arjan van de Ven
2001-05-18 17:25 ` Eric S. Raymond
2001-05-19 5:54 ` Ben Ford
2001-05-18 17:33 ` Alan Cox
2001-05-18 18:25 ` Eric S. Raymond
2001-05-18 19:13 ` Alan Cox
2001-05-18 19:44 ` Eric S. Raymond
2001-05-18 20:38 ` Alan Cox
2001-05-19 1:49 ` Aaron Lehmann
2001-05-18 19:12 ` Jes Sorensen
2001-05-18 15:11 ` Arjan van de Ven
2001-05-18 15:26 ` Eric S. Raymond
2001-05-18 15:34 ` Charles Cazabon
2001-05-18 14:30 ` David Lang
2001-05-18 15:47 ` Charles Cazabon
2001-05-18 15:42 ` Alan Cox
2001-05-19 5:44 ` Ben Ford
2001-05-19 6:40 ` Pete Zaitcev
2001-05-19 10:10 ` Ben Ford
2001-05-19 10:55 ` Arjan van de Ven
2001-05-19 16:13 ` Alan Cox
2001-05-19 21:54 ` Ben Ford
2001-05-20 0:08 ` Alan Cox
2001-05-18 15:37 ` Arjan van de Ven
2001-05-18 15:49 ` Eric S. Raymond
2001-05-18 16:16 ` Arjan van de Ven
2001-05-18 17:04 ` Eric S. Raymond
2001-05-20 11:19 ` David Woodhouse
2001-05-20 15:18 ` Eric S. Raymond
2001-05-20 15:34 ` Keith Owens
2001-05-20 15:34 ` David Woodhouse
2001-05-20 15:44 ` Eric S. Raymond
2001-05-20 18:31 ` Background to the argument about CML2 design philosophy Jonathan Morton
2001-05-20 20:13 ` Eric S. Raymond
2001-05-20 15:56 ` CML2 design philosophy heads-up David Woodhouse
2001-05-20 17:14 ` Background to the argument about CML2 design philosophy Eric S. Raymond
2001-05-21 0:45 ` Jes Sorensen
2001-05-21 9:14 ` Helge Hafting
2001-05-21 11:32 ` Jonathan Morton [this message]
2001-05-22 20:38 ` Eric S. Raymond
2001-05-21 12:15 ` David Woodhouse
2001-05-21 12:31 ` Alan Cox
2001-05-21 23:11 ` Jonathan Morton
2001-05-20 17:47 ` David Woodhouse
2001-05-20 20:47 ` Eric S. Raymond
2001-05-20 20:59 ` Arjan van de Ven
2001-05-20 22:51 ` David Woodhouse
2001-05-21 1:13 ` Eric S. Raymond
2001-05-21 6:41 ` David Woodhouse
2001-05-21 10:04 ` Eric S. Raymond
2001-05-21 11:05 ` David Woodhouse
2001-05-22 13:45 ` David Woodhouse
2001-05-22 17:17 ` David Woodhouse
2001-05-22 16:21 ` John Stoffel
2001-05-21 3:33 ` Nicolas Pitre
2001-05-21 20:38 ` John Stoffel
2001-05-22 0:59 ` Keith Owens
2001-05-22 9:24 ` Daniel Phillips
2001-05-23 1:51 ` Keith Owens
2001-05-21 23:00 ` Jonathan Morton
2001-05-20 20:59 ` David Woodhouse
2001-05-20 21:10 ` Robert M. Love
2001-05-21 3:38 ` Nicolas Pitre
2001-05-18 17:07 ` CML2 design philosophy heads-up Daniel Phillips
2001-05-18 15:38 ` Alan Cox
2001-05-18 16:04 ` Eric S. Raymond
2001-05-18 16:09 ` [kbuild-devel] " Christoph Hellwig
2001-05-18 16:43 ` Michael Meissner
2001-05-18 17:13 ` Arjan van de Ven
2001-05-18 17:22 ` Eric S. Raymond
2001-05-18 17:42 ` Christoph Hellwig
2001-05-18 17:42 ` Alan Cox
2001-05-18 18:28 ` John Cowan
2001-05-18 17:23 ` Alan Cox
2001-05-18 17:41 ` Eric S. Raymond
2001-05-18 15:54 ` Christer Weinigel
2001-05-18 15:59 ` Jonathan Morton
2001-05-18 16:17 ` Eric S. Raymond
2001-05-18 17:35 ` Mike Galbraith
2001-05-18 20:03 ` Alan Cox
2001-05-18 16:02 ` [kbuild-devel] " Kai Germaschewski
2001-05-18 19:12 ` frank
2001-05-15 20:32 ` Jes Sorensen
2001-05-15 21:33 ` Eric S. Raymond
2001-05-18 15:19 ` Jes Sorensen
2001-05-18 15:37 ` Justin Carlson
2001-05-18 15:42 ` Eric S. Raymond
2001-05-18 15:53 ` Alan Cox
2001-05-18 15:51 ` [kbuild-devel] " John Cowan
2001-05-18 15:58 ` Christoph Hellwig
2001-05-18 16:00 ` John Cowan
2001-05-18 17:15 ` Mike Castle
2001-05-18 17:28 ` Christoph Hellwig
2001-05-21 0:29 ` Jes Sorensen
2001-05-21 1:58 ` Mike Castle
2001-05-21 6:33 ` Ben Ford
2001-05-21 9:55 ` Jes Sorensen
2001-05-21 16:59 ` Mike Castle
2001-05-21 17:03 ` Alan Cox
2001-05-21 7:21 ` arjan
2001-05-21 3:47 ` Nicolas Pitre
2001-05-21 2:10 ` Robert M. Love
2001-05-21 2:35 ` Jakob Østergaard
2001-05-21 5:01 ` Mike Galbraith
2001-05-21 9:58 ` Jes Sorensen
2001-05-21 15:36 ` Tom Rini
2001-05-21 16:24 ` Eric S. Raymond
2001-05-21 6:11 ` Mike A. Harris
2001-05-21 12:08 ` Robert M. Love
2001-05-21 12:29 ` Alan Cox
2001-05-21 16:39 ` Brent D. Norris
2001-05-21 17:48 ` Eric S. Raymond
2001-05-21 15:18 ` Wichert Akkerman
2001-05-21 15:21 ` Alan Cox
2001-05-21 15:52 ` Alexander Viro
2001-05-18 16:22 ` Steven Cole
[not found] ` <0105210958040I.10237@spc.esa.lanl.gov>
[not found] ` <20010521090130.F9965@opus.bloom.county>
2001-05-21 16:13 ` Steven Cole
2001-05-18 17:10 ` Ruth Ivimey-Cook
2001-05-21 3:01 Background to the argument about CML2 design philosophy Ben Bridgwater
2001-05-21 17:36 Wayne.Brown
2001-05-21 17:58 ` Eric S. Raymond
2001-05-21 20:00 ` Urban Widmark
2001-05-22 2:42 ` Eric S. Raymond
2001-05-22 14:42 ` john slee
2001-05-22 17:28 ` Daniel Phillips
2001-05-21 19:05 Wayne.Brown
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='l03130304b72ea286711e@[192.168.239.105]' \
--to=chromi@cyberspace.org \
--cc=esr@thyrsus.com \
--cc=helgehaf@idb.hist.no \
--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
all inboxes | Powered by JetHome®