Home Messages Index
[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index

Re: Advanced means easy to use!

  • Subject: Re: Advanced means easy to use!
  • From: The Ghost In The Machine <ewill@xxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Fri, 02 Jun 2006 16:00:05 GMT
  • Newsgroups: comp.os.linux.advocacy
  • Organization: EarthLink Inc. -- http://www.EarthLink.net
  • References: <pan.2006.06.02.04.30.21.860618@yahoo.com>
  • User-agent: slrn/0.9.8.1 (Linux)
  • Xref: news.mcc.ac.uk comp.os.linux.advocacy:1115133
In comp.os.linux.advocacy, smthzer
<smthpsaz2@xxxxxxxxx>
 wrote
on Fri, 02 Jun 2006 04:27:58 GMT
<pan.2006.06.02.04.30.21.860618@xxxxxxxxx>:
> Linux is pretty cool, but these are my pet peeves:
>
>
> Why do so many people only release source code and not binaries for
> programs?

Define "binary".  Linux has support for over 18 microprocessor types.
(No, this isn't limited to x86 clones, either.  No way are m68k, ppc,
or SPARC x86 clones.)

> I'm not a programmer nor do I ever want to be one.

Programming isn't required for

# ./configure
# make
# make install

and in many distros installation isn't even that complicated.
Admittedly, a standard installation method might be advantageous,
or it might not.

Then again, it depends on what one means by "programming".
There are several meanings of the word; the most relevant
one is along the lines of writing instructions for later
execution by dumb machinery -- computers.

Douglas R. Hofstadter had a concept in his work _Gödel,
Escher, Bach: An Eternal Golden Braid_ of "smart stupids".
I'd posit that that's half right; computers will happily
add up 1+1 until power cuts off if one miswrites the
software.

That's pretty stupid.

> I just want
> to use applications. So why must I always have to compile BS
> all the time?

The computer is not compiling BS.  The computer compiling
source code in a language suitable for a computer.  A bit
different. :-)

If one wants to "compile" BS, I'd suggest becoming a farmer;
the BS in that case would be spread out while plowing. ;-)
One can then seed and water, with plenty of sun...but I digress.

One of the more problematic issues is the ambiguity of English.
Consider the sentence

   "they are eating apples".

What's a computer to do?  In this case, fortunately, nothing; both
interpretations are observations at most.

   "they are killing people".

Now it gets interesting, if there's a requirement that the computer
enforce the law (a la Robocop, perhaps).

   "add 1 and 1"

is a bit ambiguous, since it doesn't tell one where the result should
go.

   "add A and B and store the result into C"

is more along the computer's wishes (and in fact is pretty
close to COBOL), assuming "A", "B", and "C" are well enough
specified so that the compiler can translate them into
something the computer likes, which might be expressed as

20041088:   40 00 00102234 MOV A, r0
2004108E:   41 00 00102238 ADD B, r0
20041094:   48 00 0010223C MOV r0, C
2004109A:   ...

with the understanding that the computer actually sees
everything as bits of information.  This is probably far
more than most want to know but ultimately, that's what
the computer is doing: executing a more or less endless
stream of machine instructions.  (One of those instructions
is HALT, which deliberately puts the microprocessor to sleep.)

Specialists of course might be able to following along,
if they know that for this hypothetical processor,
40 = MOV x, r, 41 = ADD x,r, and 48 = MOV r, x.  For most
of the rest, we click on something, programs run, and we
don't bother with the fiddlybit details.  But one has to
trust the software and the computer in that case, and
everyone should know that Murphy was an optimist.

(This is admittedly ad hoc.  Real instruction sets, such as
the one for the Pentium, can be had with a little digging.
I'll refer you to Intel for the gory details.)

Of course, once source code is converted into binary
form, typically in an executable file (in Windows, these
are labeled .EXE; Linux doesn't care what the filename
extension is as long as the contents are right), the
executable file can be run as many times as one likes;
compilation is a one-time thing (unless a library changes
underneath, which does happen).

> Everytime I go to download something, only to discover that it is only
> available in source, I think "Oh shit, here we go again!" Half the God
> damn time, the compilations don't work for some unknown reason. Crossing
> your fingers is always the step you have to do before "make". I HATE
> COMPILING!

It's a tradeoff, methinks.  To distribute 18 binaries gets slightly
unwieldly.

>
> Also, if Linux wants to become serious against Windows, it still
> needs to get much easier to use.  Normal people don't like
> "instructions" telling you to "Do this, do that, link this [even though
> they won't tell you how to link]" all the time.  Instructions for some
> programs might as well just say, "Pat your head and rub your stomach while
> saying 'rubber baby buggy bumpers'".

Very true.  The user should have complete control, and the system should
allow any ordering of the instructions.  For instance, one should be
able to play a game prior to installing it.

Wait, does that work?

>
> RTFM?  Oh, I love this war cry.

RTFM is a cop-out.  The manual, of course, can be referred to (and
should be!) in that case; however, there's also the possibility that the
manual is out-of-date, next to useless, or both.  This is an issue for
any software; documentation is almost always last when it really should
be first.

Of course, the computer couldn't care less if there's documentation
anyway; the only documentation it's interested in is the instruction
code, in its native language -- machine.

> TFM's always seem to have everything in
> them except exactly what you are looking for.  And, why don't "man pages"
> have any examples of usage?  One or two examples of usage per command
> could replace dozens of pages in man pages that are absolutetly worthless.
> (Just think of how many times you have had to try some command over and
> over again until you figured out the convention used to pass flags?  One
> freakin' example could've eliminated that.) 

Another issue, as well.

>
> Click n' Point?  Oh, I love this war cry too.  Well, you
> know what? You are right that I want to "click 'n point".  You know
> why? Because my calender says that we are in the 21st Century. Thats why.
> Things SHOULD be simple.  With a lot of things, it seems like Linux
> deliberatly goes out of it's way to be as complicated as possible.  Why??
> Let me guess, it needs to be complicated to "prove how advanced it is"? 
> No. Things that are really advanced are things that are made to be simple.
> That is true evolution!

Just remember that "click and point" includes "oooh, lookit the pretty
virus".  This may be one reason why "click and point" should be more of
a "click and point, check, then do".  Of course it's possible to overdo
it; Vista has hints that it is doing the equivalent of the following
dialog:

User: "Delete that file."
Computer: "Did you really want to delete that file?"
U: "Yes, please".
C: "Oh, BTW, did you really really want to move the file into the
   trashcan?"
U: (getting irked) "YES."
C: "With sugar on top?"
U: (now getting slightly ticked off) "Yes, just do it, will you?"
C: "Oh, I seem to be having a problem with myself here.  Are you
   sure you wanted to delete that file with sugar on top?  I might
   want to use honey, instead."
U: (getting pissed) "Look here, you recalcitrant machine, just delete
   the damned file already!"
C: "Hmm...I now seem to be having problems with ants [*].  I may have to
   keep the file around a little longer while I figure out where's
   the nearest exterminator."
U: (throws the computer across the room, destroying it)
C: *fizzle spitz pop*

:-)

There's room for compromise here.

In any event, "click" is a communications method, and should be
unambiguous to both user and computer.  The computer doesn't have too
much of a problem, actually (it does what it's told!) but the user might
have to be able to distinguish between:

- blank area on a screen, where a click at best brings up a popup menu,
  and at worst does nothing.  Of course a popup menu to a computer is a
  series of bits at one level, a bunch of text and active regions
  attached to actions at another.
- desktop icon, which does something when clicked or double-clicked
- window frame title, which might ignore a click or bring up a different
  menu
- window close button, which of course closes the window

etc.

In short, clicking is a context-sensitive operation, much
like grabbing with one's hands might be.  Grabbing a fruit,
soda can, or empty air is one thing, but when one is near
a woman grabbing part of her anatomy would probably be
*very* inadvisable, unless you and she know each other
well and she's in the mood.  (Women grabbing men's anatomy
leads to similar issues.  For details, wander over to alt.sex.)

>
> You are right if you call me "lazy".  I am.  If Linux wants to get really
> advanced, then it should be easy for us lazy people.  That is, those
> of us with lives who simply just want to use their computers as tools
> without having to "RTFM" on a Friday night.
>

Engineers are lazy as well...but that combined with
ingenuity results in sheer genius.  (In fact, the word
'engineer' is derived from 'ingenuity'.)

Laziness is not a sin if employed properly.

Of course, "use" is a bit too generic in many senses.
A computer is means codified: write documentation, draw
pictures, frag one's opponent in simulated warfare.

And of course install additional instructions -- which
is what software is anyway! -- on an as-needed basis to
facilitiate one's goals.

[*] the first ever defect in a computer was caused
by a moth which had gotten stuck in a relay, causing
a malfunction.  Hence the term "bug" for unanticipated
results, and "debugging" for finding and removing
instructions causing said results.

http://www.jamesshuggins.com/h/tek1/first_computer_bug_large.htm
http://www.history.navy.mil/photos/images/h96000/h96566kc.htm

Apparently the book with the bug is now preserved in a museum.

-- 
#191, ewill3@xxxxxxxxxxxxx
Windows Vista.  Because it's time to refresh your hardware.  Trust us.

[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index